using File = I2R.Storage.Api.Database.Models.File; namespace I2R.Storage.Api.Database; public class AppDatabase : DbContext { public AppDatabase(DbContextOptions options) : base(options) { } public DbSet Users { get; set; } public DbSet Files { get; set; } public DbSet Folders { get; set; } public DbSet Permissions { get; set; } public DbSet PermissionGroups { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(e => { e.ToTable("users"); }); modelBuilder.Entity(e => { e.HasMany(c => c.Permissions); e.HasOne(c => c.Folder); e.ToTable("files"); }); modelBuilder.Entity(e => { e.HasMany(c => c.Files); e.HasMany(c => c.Permissions); e.ToTable("folders"); }); modelBuilder.Entity(e => { e.HasMany(c => c.Users); e.ToTable("permission_groups"); }); modelBuilder.Entity(e => { e.HasOne(c => c.Group); e.ToTable("permissions"); }); base.OnModelCreating(modelBuilder); } }