用途:面向 EF Core 与 PostgreSQL 的高性能数据访问层实践,适合优化数据库查询性能、消除 N+1 查询、管理变更跟踪、实现批量操作、处理并发冲突与调试慢查询。
主要能力:一是变更跟踪优化,如 AsNoTracking、AsNoTrackingWithIdentityResolution 及批量处理后清空跟踪器;二是加载策略,覆盖 Include/ThenInclude 预加载、过滤 Include、显式加载与惰性加载(示例中通过 UseLazyLoadingProxies 启用,并警示 N+1);三是查询拆分 AsSplitQuery 避免笛卡尔积膨胀,可全局配置 QuerySplittingBehavior;四是编译查询 EF.CompileAsyncQuery;五是批量操作 ExecuteUpdateAsync/ExecuteDeleteAsync;六是乐观并发,使用 [Timestamp]/RowVersion 与 DbUpdateConcurrencyException 处理;七是 PostgreSQL 特性,包括 text[] 数组查询、jsonb 列与 JsonContains、tsvector 全文检索与 GIN 索引、范围类型 NpgsqlRange;八是查询优化,如投影到 DTO、FromSqlRaw、软删除全局查询过滤器与 IgnoreQueryFilters,并通过 LogTo、ToQueryString 观察生成的 SQL。
使用方式:资料给出的是模式与代码片段,未提供安装命令或独立调用步骤;需结合自有 EF Core/Npgsql 项目按相应 API 应用。文中示例涉及 ABP 的 AbpDbContext,非 ABP 项目需自行替换为普通 DbContext。
限制:资料未说明该技能的安装、授权、收费或适用 .NET/EF Core 版本;SQL 与索引等细节需按实际数据库验证,EnableSensitiveDataLogging 仅限开发环境。