投稿 提交工具 投放合作

Impatient:LINQ 查询提供程序基础设施库

开发框架 119 13 C# 2026-11-14 在 GitHub 打开

构建 SQL 数据库 LINQ 查询提供程序的 .NET 库,并提供替换 EF Core 默认查询编译器的 SQL Server 实现。

Impatient 是一个为 SQL 数据库构建 LINQ 查询提供程序提供基础设施的库,支持导航属性、绝大多数标准 LINQ 查询运算符(Select/Where、Join/GroupJoin/GroupBy、聚合、集合运算、SkipWhile/TakeWhile 等),以及利用数据库原生 JSON 支持(如 SQL Server 的 FOR JSON)来物化嵌套集合和复杂类型列、查询 JSON 对象属性与数组元素,避免 n+1 查询。Impatient.EntityFrameworkCore.SqlServer 项目在此基础上替换 EF Core 默认的 IQueryCompiler,通过了 EF Core 自身超过 5500 个规范测试。目前唯一支持的数据库是 SQL Server 2016 及以上版本。README 还说明了与 EF Core 的实现差异(异步查询、变更跟踪、GroupBy/SelectMany 手动左连接的可空性传播等)和不支持的功能(ROW_NUMBER 分页、FromSql、客户端求值警告等)。

Star 趋势2026-11-08 — 2026-11-13当前 Stars 119

11911-0811-1111-13