Specify ON DELETE NO ACTION in ASP.NET MVC 4 C# Code First

后端 未结 5 541
情歌与酒
情歌与酒 2021-01-01 09:57

How do I specify ON DELETE NO ACTION Foreign Key Constraint in my model designs?

At present, I have:

public class Status
{
    [Required]
    public          


        
5条回答
  •  猫巷女王i
    2021-01-01 10:52

    You can either disable it for your entire context by removing the cascade delete convention in the OnModelCreating method:

      protected override void OnModelCreating( DbModelBuilder modelBuilder )
      {
         modelBuilder.Conventions.Remove();
      }
    

    or, you can do it per relationship using a fluent mapping (also in the OnModelCreating):

    EDIT: you would put it in your menu entities

    public class MenuEntities : DbContext
    {
        public DbSet Statuses { get; set; }
        public DbSet Restaurants { get; set; }
        public DbSet Menus { get; set; }
    
          protected override void OnModelCreating( DbModelBuilder modelBuilder )
          {
    
             modelBuilder.Conventions.Remove();
    
         modelBuilder.Entity()
            .HasRequired( f => f.Status )
            .WithRequiredDependent()
            .WillCascadeOnDelete( false );
    
         modelBuilder.Entity()
            .HasRequired( f => f.Status )
            .WithRequiredDependent()
            .WillCascadeOnDelete( false );
    
          }
    
    }
    

提交回复
热议问题