dotnet/space-translate/SpaceTranslate/Database/SpaceTranslateDb.cs (23 lines of code) (raw):

using Microsoft.EntityFrameworkCore; namespace SpaceTranslate.Database; public class SpaceTranslateDb : DbContext { public SpaceTranslateDb(DbContextOptions<SpaceTranslateDb> options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Organization>() .HasIndex(o => o.ServerUrl, "IX_ServerUrl"); modelBuilder.Entity<Organization>() .HasIndex(o => o.ClientId, "IX_ClientId"); modelBuilder.Entity<Organization>() .HasMany(o => o.Users) .WithOne(m => m.Organization) .OnDelete(DeleteBehavior.ClientCascade); modelBuilder.Entity<User>() .HasOne(p => p.Organization) .WithMany(o => o.Users); } public DbSet<Organization> Organizations => Set<Organization>(); public DbSet<User> Users => Set<User>(); }