using File.Domain.Entities.FileMeta; using File.Domain.Entities.FileSetting; using File.Domain.Entities.Folder; using File.Domain.Entities.MultipartUploadSession; using File.Domain.Entities.ShareLink; using Microsoft.EntityFrameworkCore; namespace File.Infrastructure.Persistence; /// /// file-system 统一 DbContext。聚合 FolderEntity/FileMetaEntity/ShareLinkEntity/MultipartUploadSessionEntity 聚合根。 /// 注意:实体均不实现 ISoftDelete,故无全局软删除查询过滤器,Remove() 走真实物理删除(忠实 Go 版语义)。 /// public class FileDbContext : DbContext { public FileDbContext(DbContextOptions options) : base(options) { } public DbSet Folders => Set(); public DbSet Files => Set(); public DbSet ShareLinks => Set(); public DbSet UploadSessions => Set(); public DbSet Settings => Set(); protected override void OnModelCreating(ModelBuilder modelBuilder) { // 自动发现并应用当前程序集中所有 IEntityTypeConfiguration modelBuilder.ApplyConfigurationsFromAssembly(typeof(FileDbContext).Assembly); } }