1
A
回答
0
正如你在圖片上顯示的那樣,你只有兩張桌子。無法將它們之間的關係設置爲多對多關係(只有當新對將出現時向這些表添加新列時,這是非常糟糕的做法)。您應該創建第三個表格,其中將包含其主鍵對。在您的遷移中,您將能夠在每個主表和第三個表之間指定cascadeDelete爲true。請看下圖:
模式:移民
public class BugReport
{
public BugReport()
{
dublicates = new HashSet<DublicateBugReport>();
}
public int ID { get; set; }
public virtual ICollection<DublicateBugReport> dublicates { get; set; }
}
public class DublicateBugReport
{
public DublicateBugReport()
{
reports = new HashSet<BugReport>();
}
public int ID { get; set; }
public virtual ICollection<BugReport> reports { get; set; }
}
海賊王:
public override void Up()
{
CreateTable(
"BugReports",
c => new
{
ID = c.Int(nullable: false, identity: true),
})
.PrimaryKey(t => t.ID) ;
CreateTable(
"DublicateBugReports",
c => new
{
ID = c.Int(nullable: false, identity: true),
})
.PrimaryKey(t => t.ID) ;
CreateTable(
"DublicateBugReportBugReports",
c => new
{
DublicateBugReport_ID = c.Int(nullable: false),
BugReport_ID = c.Int(nullable: false),
})
.PrimaryKey(t => new { t.DublicateBugReport_ID, t.BugReport_ID })
//pay attention! - cascadeDelete: true
.ForeignKey("DublicateBugReports", t => t.DublicateBugReport_ID, cascadeDelete: true)
.ForeignKey("BugReports", t => t.BugReport_ID, cascadeDelete: true)
.Index(t => t.DublicateBugReport_ID)
.Index(t => t.BugReport_ID);
}
相關問題
- 1. EF多對多級聯刪除
- 2. EF:多對多級聯刪除
- 3. 多個級聯刪除在多對多關係路徑(EF 4.1)
- 4. 將刪除級聯到多對多關聯表中?
- 5. 一對多關係 - 級聯刪除
- 6. 級聯刪除一對多關係
- 7. Sails.js /水線級聯刪除了許多一對多關聯
- 8. 如何自動刪除多對多關聯(級聯)
- 9. EF 4.2代碼第一,如何刪除多對多的關聯?
- 10. JPA多對多級聯刪除
- 11. 許多一對多級聯刪除
- 12. EF 4.1多對多刪除家長應刪除相關子女
- 13. 在NHibernate中刪除多對多關聯
- 14. elixir刪除多對多關聯
- 15. Sails.js 0.10.0-rc5多對多關聯:刪除
- 16. 從級聯刪除許多一對多關係
- 17. Django ORM - 沒有多對多關係的級聯刪除
- 18. Hibernate的多對多的關係和級聯刪除
- 19. 級聯刪除與Grails中的多對多映射關係
- 20. JPA Spring數據級聯刪除組合多對多關係
- 21. Sql表共享多個一對多關係與刪除級聯
- 22. 級聯刪除不與EF級聯
- 23. NSManagedObject,級聯刪除多個關係
- 24. EF代碼第一級聯刪除外鍵的一到多
- 25. 在Ecto中刪除關聯(對於多對多)
- 26. NHibernate級聯刪除不工作的一對多關聯
- 27. EF 5代碼首先,多個父級子級聯刪除?
- 28. 從多對多表刪除關係數據後,級聯刪除失敗
- 29. EF 4刪除多對多的對象
- 30. NHibernate一對多刪除不級聯
通常情況下,刪除級聯EF中默認啓用。顯示映射的代碼 –