阿Y博客

上辈子作恶多端,这辈子Chsarp后端
文章发布热力图
一 三 五
少
多
C# LINQ 表达式树深度解析:手写 ORM 如何把 Where/OrderBy 翻译成数据库查询条件

C# LINQ 表达式树深度解析:手写 ORM 如何把 Where/OrderBy 翻译成数据库查询条件

EF Core 是怎么把 LINQ 翻译成 SQL 的?答案是表达式树。本文从 SwitchData 项目中 462 行的 ExpressionParser 真实代码出发,展示手写 ORM 如何把 Where/OrderBy Lambda 翻译成结构化 QueryCondition 列表:排序解析沿方法调用链向内剥离,条件解析基于 ExpressionVisitor 深度优先遍历并还原括号语义,还包含闭包变量提取、string.Contains 转 LIKE、PredicateBuilder 动态组合等核心难点的完整实现。
.NET 7 0 0
C# 状态机实战:从零实现 Telnet 协议解析器(DO/DONT/WILL/WONT 协商 + 子协商完整实现)

C# 状态机实战:从零实现 Telnet 协议解析器(DO/DONT/WILL/WONT 协商 + 子协商完整实现)

Telnet 协议解析器是状态机设计模式的经典应用场景。本文从协议原理出发,用逐字节扫描 + 8 状态 FSM 的方式,完整实现 Telnet 四向握手协商(DO/DONT/WILL/WONT)、TerminalType/WindowSize 子协商、业务数据 IAC 转义还原,并与上层 Socket TelnetClient 配合实现零依赖、高性能的生产级 Telnet 协议栈。
.NET 4 0 0
Hangfire 动态定时任务调度实战:数据库驱动 Cron 注册、多实例部署与独立 Worker 架构

Hangfire 动态定时任务调度实战:数据库驱动 Cron 注册、多实例部署与独立 Worker 架构

从 SwitchData 项目的 NeTaskHangfireScheduler + JobWorkerService 出发,拆解一套完整的 Hangfire 数据库驱动定时任务体系:独立 Worker 进程架构、SQL Server 持久化配置、动态 Cron AddOrUpdate/RemoveIfExists、后台服务 SyncJobsAsync 自动同步、SlidingInvisibilityTimeout 幽灵任务防护、DisableGlobalLocks 多实例部署安全,以及 Dashboard 鉴权加固实战。
.NET 9 0 0