- 博客(10)
- 收藏
- 关注
原创 ORM 延迟执行问题与解决方案
若 ORM 上下文在循环前被释放,所有查询都将失败。(纯 ORM 层行为)(查询命令,未执行):确保上下文生命周期。:动态查询+立即执行。
2025-06-06 10:38:08
349
原创 .net6+sqlsuagr生成随机中奖名单
场景:后台系统需要一个点击生成中奖名单的功能,点击即可随机抽取符合中奖条件的用户,并随机发放奖品表中的奖品。中奖概率与用户参与游戏次数权重正相关。本文记录了一个中奖名单随机生成系统的实现,该系统能够根据用户答题情况,按照答题次数作为权重进行随机抽奖,并确保历史中奖用户不会重复中奖。系统主要包含候选用户筛选、权重随机算法实现、中奖记录生成与存储等核心功能。
2025-05-28 15:33:25
345
原创 LINQ 子查询使用笔记
不同ORM(如EF Core/SqlSugar)子查询语法可能不同,需参考文档调整。中嵌套子查询,动态计算关联数据,常用于统计、条件过滤等场景。若主查询返回大量数据,子查询可能导致性能问题,可改用。确保子查询简单高效,避免复杂计算。示例:统计有效订单数量。
2025-05-13 17:30:12
117
原创 小型抽奖活动设计笔记
设计一个支持多账号合并计算的抽奖系统,核心在于确保同一自然人的多次参与能合并计算权重,并保证抽奖的公平性和数据一致性。系统需通过手机号和身份证号识别同一自然人,合并其不同账号的参与次数作为权重。采用加权随机算法,确保参与次数越多中奖概率越高,并通过事务处理保证高并发下的数据一致性。技术实现包括数据分组策略、加权随机算法、事务处理设计及关键异常处理。架构优化建议包括数据层优化、业务逻辑解耦、安全防护和监控指标。典型问题排查指南帮助解决重复中奖、随机分布不均和高并发性能下降等问题。
2025-05-13 15:53:34
749
原创 .Net Core 关于多线程使用和闭包陷阱
原因是在for块中定义的int i会被当作外部变量来处理,我们在循环内部使用lambda的时候编译器会给我们生成一个类,比如这个代码如果是在Program中的main方法执行的时候这个类会在Program中生成,成为Program的一个内部类。当lambda表达式引用了一个局部变量时,为了保证这个变量的生命周期,这个局部变量会被编译器生成的这个类所捕捉,也就是说,这个局部变量的生命周期得到了提升,成为了一个类级别的字段了,并且这个字段值,会获取 for 后最新的值内容。
2025-03-13 10:58:29
212
原创 .Net Core 3.1/.Net 6 项目在 Linux 上运行的实践
DNF 包管理器克服了 YUM 包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。新旧版本的 .Net Core 存储的位置会有区别,可使用软链接来进行关联旧的路径 sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet。工具(Linux文件传输工具),把项目文件,迁移到 Linux 中 目录暂且为 /home/demo/WorkingDirectory=/home/demo/ //项目路径。
2024-10-15 17:56:38
1484
原创 MySQL 8.0.33安装遇到的问题
这时候需要输入安装MySQL的时候自动生成的一个临时密码 (在执行 mysqld –initialize 的命令时候,临时密码会生成在 database文件夹里面一个.err的文件)# 设置mysql数据库的数据的存放目录,并且不要手动创建database文件夹,让接下里的命令行进行自动生成,否则会安装失败。下载下来的文件其实是一个zip的压缩包,不像SQL Server那种一个安装程序,相对来说其实MySQL的安装过程更加快捷。# 服务端使用的字符集默认为8比特编码的latin1字符集。
2024-10-15 17:53:37
1340
原创 Nginx在Linux上的安装与配置
如果出现nginx: [error] open() “/var/run/nginx.pid” failed (2: No such file or directory) 错误,执行下面命令后,在重新读取配置文件即可。//修改为项目的端口号。如果提示 No package nginx available,安装一个源即可。(配置文件一般在 /etc/nginx/nginx.conf)server_name ip或域名;
2024-10-15 17:47:02
1375
原创 Windows Server安装IIS并部署项目
若出现错误,可在项目目录下启动cmd 并输入dotnet执行项目,排除项目本身问题。在windows server中安装dotnet hosting3/6。项目没问题的情况下,运行安装(修复)几次dotnet hosting。若是3.版本的dotnet框架,需要加上xml文件。新建网站时配置或基本信息中配置,端口号为80。并将vs上发布后的扩展文件粘贴到该目录下。按照以下步骤安装iis并绑定网站。此路径为服务器本地的项目物理路径。端口(或手动添加所需端口)在服务器中创建项目文件夹。首先在服务器控制台添加。
2024-10-15 17:41:50
868
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人