[英]Entity Framework - Cascade deleting
假設我有2節課:
public class Photo
{
public int Id {get;set;}
public string Name {get;set;}
public int AlbumId {get;set;
publiv virtual Album Album {get;set;}
}
public class Album
{
public int Id {get;set;}
public decimal Price {get;set;}
public ICollection<Photo> Photos {get;set;}
}
現在,我想刪除所有帶有價格的專輯,例如2。我已經嘗試過:
Context.RemoveRange(Context.Albums.Where(x = > x.Price == 2))
很好,但是在刪除相冊之前,我需要刪除每張帶有要刪除的AlbumId的照片。
在上下文中使用Fluent API進行級聯刪除
modelBuilder.Entity<Photo>()
.HasRequired(c => c.Album)
.WithMany(a => a.Photoes)
.WillCascadeOnDelete(true);
EF不會級聯刪除自身。 它依賴於正確的數據庫定義,然后假定數據庫將執行級聯刪除(如果指定)。 有關更多信息,請參見本文 。 正如其他用戶指出的那樣,您將不得不使用Fluent,EF並不會自己這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.