2016-08-18 59 views
0

使用WillCascadeOnDelete從下面的代碼片段:上ASP.MVC 5

modelBuilder.Entity<Product>() 
      .HasMany(e => e.ProductPictures) 
      .WithRequired(e => e.Product) 
      .WillCascadeOnDelete(false); 

這是WillCascadeOnDelete指什麼?

Product具有

-ProductID 
-ProductNumber 
-ProductDescription 
-Cost 
-UnitPrice 
-OnHandQty 
-StartDate 
-CreateDate 

ProductPicture具有

-ProductPictureId 
-ProductId 
-IsThumb 
-SortOrder 
-ProductPictureNote 

這意味着ProductPicture是因之一。 WillCascadeOnDelete是指Product?這意味着如果Product被刪除,則ProductPictureProductId屬性將被設置爲空。

回答

0

「級聯刪除」是一種關係的配置,而不是實體/表的配置。因此WillCascadeOnDelete是ascadableNavigationPropertyConfiguration的一種方法。

這意味着如果產品從數據庫中刪除,它的ProductPictures不應該與產品一起刪除。這是此特定關係的屬性,而不是產品表。