我有一個現有的(MSSQL 2008 R2)數據庫中有一個鏈接表相關的兩個表。如何使用EF4流利API級聯刪除鏈接表?
這兩張表是「計劃」和「提示」。鏈接表是「PlanTipLinks」。
計劃可以有很多提示,並且提示可以與多個計劃相關聯(即它是多對多的關係)。在應用程序中,我只關心「Plan.Tips」關係。我不需要Tip.Plans的反向關係。
鏈接表中的外鍵引用不能爲空。
我用下面的流暢API代碼映射這種關係:
modelBuilder.Entity<Plan>()
.HasMany(p => p.Tips)
.WithMany()
.Map("PlanTipLinks", (p, t) =>
new
{
PlanId = p.Id,
TipId = t.Id
});
這在表中創建正確的條目。問題是,當我刪除一個計劃時,我在PlanTipLinks表上得到一個外鍵異常。
大概我需要告訴它當一個計劃被刪除時級聯到PlanTipLinks表中,但我不知道該怎麼做。我似乎無法使用HasMany/WithMany方法調用WillCascadeOnDelete方法。
我在這裏錯過了什麼?
@dommer,這究竟是怎麼回答幫助你,因爲你寫了「問題是,當我刪除一個計劃,我得到PlanTipLinks表上的外鍵異常。「?這個答案表明不會發生異常。 – 2014-09-23 09:45:57