用途:在 Sorcha 代码库中使用 EF Core 9+ 配合 PostgreSQL(Npgsql)作为主关系型数据存储,覆盖数据库访问、迁移与仓储模式。
主要能力:支持注册 DbContext(AddDbContext 配合 NpgsqlDataSource,可启用失败重试并指定迁移历史表)、使用 dotnet ef migrations add 创建迁移、在启动时通过 GetPendingMigrationsAsync 检查并调用 MigrateAsync 应用迁移。代码库采用分层仓储模式(含泛型与专用仓储)、通过 DeletedAt 查询过滤器实现软删除、支持 jsonb 列类型,并可用 ExecuteUpdate/ExecuteDelete 进行批量操作。
使用方式:DbContext 用于模式定义与变更跟踪;仓储抽象数据访问;软删除用 HasQueryFilter(e => e.DeletedAt == null);需要忽略过滤器时使用 IgnoreQueryFilters();可用 AsNoTracking、Include 控制加载。示例中注册 Npgsql 时可设置 EnableRetryOnFailure(maxRetryCount: 10, maxRetryDelay: TimeSpan.FromSeconds(30), errorCodesToAdd: null)。
适用场景:创建 WalletDbContext、TenantDbContext 等上下文,编写迁移,处理 PostgreSQL 特有功能,测试 DbContext 等。
限制:当前资料未提供安装命令、收费、平台支持及授权信息;具体实现以项目现有约定为准。