阿Y博客

上辈子作恶多端,这辈子Chsarp后端
文章发布热力图
C# 表达式树编译实战:从零实现高性能属性访问器

C# 表达式树编译实战:从零实现高性能属性访问器

深入讲解如何利用 C# 表达式树(Expression Tree)编译技术,把反射式的属性访问编译成原生委托。本文从 SwitchData 项目的 MetadataCache.CreateGetter/CreateSetter 真实代码出发,手把手实现一个并发安全的 ConcurrentDictionary + 编译缓存方案,让 ORM 对象映射性能达到接近直接调用的水平。
.NET 2 0 0
从零实现可扩展查询条件体系:FilterOperator 策略模式 + 组合模式构建动态 SQL WHERE 子句

从零实现可扩展查询条件体系:FilterOperator 策略模式 + 组合模式构建动态 SQL WHERE 子句

在业务系统中,动态构建 SQL WHERE 子句是绕不开的需求。本文以 SwitchData 项目中的 FilterOperator + IFilterNode 实现为例,剖析一套完整的可扩展查询条件体系:策略模式封装 15 种运算符的 SQL 生成逻辑,组合模式构建条件树支持 AND/OR 嵌套,递归遍历 + 参数化查询安全翻译成 SQL,还能通过 virtual 属性适配不同数据库方言。
.NET 5 0 0