agilelabs-fx-docs main data-access/efcore/dbcontext.md

DbContext

本页只面向仍在维护 EF Core 存量实现的项目。EF Core 已被列为遗留兼容方案,不推荐新项目继续接入;迁移方向请优先阅读 EF Core 迁移到 Dapper

适用前提

  • 项目已经存在 AgileLabDbContextCrudRepository 或 EF Core migration。
  • 当前阶段只能维护,不适合立即整体迁移。
  • 团队已经明确后续会逐步迁往 Dapper。

最小示例

using AgileLabs.EfCore.PostgreSQL;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
/*
 列出迁移列表
dotnet ef migrations list

增加一次迁移
dotnet ef migrations add Init

列出脚本
dotnet ef migrations script

删除最近一次迁移
dotnet ef migrations remove

直接更新db
dotnet ef database update
 */
namespace Niusys.Casher.DataStore
{
    public class CenterDbContext : AgileLabDbContext
    {
        public CenterDbContext(ILoggerFactory loggerFactory) : base(loggerFactory)
        {
        }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            builder.ApplyConfigurationsFromAssembly(GetType().Assembly);
        }
    }
}

维护约束

  • 不在新模块继续新增 DbContext 接入面。
  • 不把新的查询、报表和分页继续堆到 EF Core 上。
  • 保留 EF Core 时,也要明确后续对应的 Dapper 迁移路径。

相关页面