0
我有以下的域模型:刪除行
public class Campaign
{
public virtual long Id { get; set; }
public virtual string Name { get; set; }
public virtual ICollection<Content> Content { get; set; }
}
public class Content
{
public virtual long Id { get; set; }
public virtual string Body { get; set; }
}
此配置:
modelBuilder.Entity<Campaign>().HasMany(x => x.Content).WithOptional();
在我的服務,我有以下代碼:
Campaign campaign = campaignRepository.GetById(id);
這會將廣告系列和任何關聯的內容項加載到很好的集合中。問題隨附以下代碼:
campaign.Name = "new value";
campaign.Content.Clear();
unitOfWork.Commit();
這不會從數據庫中刪除內容行。它實際上將內容表中的外鍵設置爲null,但不會刪除行。
我又試圖修改配置:
modelBuilder.Entity<Campaign>().HasMany(x => x.Content).WithRequired();
這隻會給我以下異常:從「CAMPAIGN_CONTENT」 AssociationSet是「被刪除」狀態的關係。考慮到多重性約束,相應的「Campaign_Content_Target」也必須處於「已刪除」狀態。
必須有辦法從內容集合中刪除行。我肯定錯過了什麼。任何幫助表示讚賞。