Files
Migu2.0/MiGu.DB/Kernel/Context/MiGuDbContext.cs
T
wei.wu 51c3fc1994 持久层重构为独立 MiGu.DB 工程并优化集成
- 新增 MiGu.DB 项目,迁移所有领域实体与枚举,统一模型约定
- 实现 Entity/Repository/UoW/Provider/Exception 等接口与实现
- 支持数据修补机制,完善 Sqlite 初始迁移与数据库管理
- Server 侧移除 EF Core 相关,依赖 MiGu.DB,PlatformPersistence 适配
- 业务服务注入 UoW/Repository,状态字段统一用 enum 及辅助类
- 统一异常处理,Controller 映射 HTTP 状态码
- 配置项与文档补充数据库启动、SchemaMode、迁移说明
- 新增 GlobalUsings.Db.cs、WmsStatusAliases.cs 简化类型引用
- 新增 HttpActorContextMiddleware 支持操作者上下文一致性
- 新增 MiGuDbContextModelSnapshot 追踪数据库结构
- 优化代码结构,解耦领域与持久层,提升扩展性与安全性
2026-07-27 14:26:04 +08:00

26 lines
902 B
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using Microsoft.EntityFrameworkCore;
using MiGu.DB.Abstractions.Modules;
using MiGu.DB.Kernel.Conventions;
namespace MiGu.DB.Kernel.Context;
public partial class MiGuDbContext : DbContext
{
private readonly IEnumerable<IEntityModule> _modules;
public MiGuDbContext(DbContextOptions<MiGuDbContext> options, IEnumerable<IEntityModule>? modules = null)
: base(options)
{
_modules = modules ?? Array.Empty<IEntityModule>();
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// 先约定、后 Configuration,让实体级配置覆盖全局 Guid/时间转换(如 SimpleField
ModelConventionExtensions.ApplyMiGuConventions(modelBuilder);
modelBuilder.ApplyConfigurationsFromAssembly(typeof(MiGuDbContext).Assembly);
foreach (var module in _modules)
module.ConfigureModel(modelBuilder);
}
}