예제 #1
0
        protected override void OnModelCreating(ModelBuilder builder)
        {
            UserSeeder.SeedRoles(builder);

            builder.ApplyConfiguration(new ArtistConfig());
            builder.ApplyConfiguration(new GenreConfig());
            builder.ApplyConfiguration(new TrackConfig());
            builder.ApplyConfiguration(new PlaylistConfig());
            builder.ApplyConfiguration(new TrackPlaylistConfig());

            var cascadeFKs = builder.Model.GetEntityTypes()
                             .SelectMany(t => t.GetForeignKeys())
                             .Where(fk => !fk.IsOwnership && fk.DeleteBehavior == DeleteBehavior.Cascade);


            foreach (var fk in cascadeFKs)
            {
                fk.DeleteBehavior = DeleteBehavior.Restrict;
            }

            base.OnModelCreating(builder);
        }