SuperAPI AI 工具集

dotnet-entity-framework-core

设计与创作

查看项目

更新于 10-16 00:05

技能介绍

用途:在 .NET 项目中设计、调优或审查 Entity Framework Core 数据访问,涉及 DbContext、迁移、模型配置、EF 查询、跟踪与加载策略、事务行为,以及从 EF6 或自定义仓储迁移到 EF Core。

主要能力:提供 DbContext 配置与 DI 注册(AddDbContext、AddDbContextPool)、Fluent API 实体配置、查询模式(AsNoTracking、投影到 DTO、Include 预加载、AsSplitQuery、编译查询)、迁移命令(dotnet ef migrations add、dotnet ef database update、dotnet ef migrations script --idempotent -o migrate.sql)、批量操作(ExecuteDeleteAsync、ExecuteUpdateAsync)、索引与分页、并发处理(ConcurrencyCheck、Timestamp/RowVersion、DbUpdateConcurrencyException)。同时列出反模式:ToList 后再过滤、每请求多个 DbContext、到处懒加载、泛型仓储包装、忽略生成 SQL、循环内 SaveChanges。

使用方式:新开发优先用 EF Core,除非有明确缺口才用 Dapper 或原生 SQL;DbContext 保持 Scoped 生命周期;审查查询翻译并检查生成 SQL;把迁移当作一等公民;注意不同提供程序行为差异;通过查询检查验证而非仅凭记忆。

适用场景:EF Core 建模与迁移、慢查询优化、跟踪与加载策略选择、并发冲突处理、数据访问从 EF6 或自定义仓储迁移。

限制:资料未提供具体版本兼容范围、各数据库提供程序差异细节、性能基准数据或收费信息;示例中的 EnableSensitiveDataLogging 与 EnableDetailedErrors 仅限开发环境使用。