0
我有一個場景,我首先使用EF代碼有點混亂。我創建的類是下面:代碼與多個外鍵的第一個關係
public class Company
{
public int Id { get; set; }
public List<Contact> Contacts { get; set; }
public List<Job> Jobs { get; set; }
}
public class Contact
{
public int Id { get; set; }
[ForeignKey("CompanyId")]
public virtual Company Company { get; set; }
public int CompanyId { get; set; }
public List<Job> Jobs { get; set; }
}
public class Job
{
public int Id { get; set; }
[ForeignKey("CompanyContactId")]
public virtual CompanyContact CompanyContact { get; set; }
public int CompanyContactId { get; set; }
[ForeignKey("CompanyId")]
public virtual Company Company { get; set; }
public int CompanyId { get; set; }
}
然而,當我建立DB我得到以下錯誤:
表上引進國外KEY約束'FK_Contacts_Company_CompanyId「聯繫人」可能會導致循環或多重級聯路徑。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY約束。
因此,一個小小的研究表明,答案就是使用Fluent API來根據需要定義映射,但我無法弄清楚如何做到這一點或找到類似場景的示例。
我意識到我可以從Job中刪除公司類,並通過聯繫人進行導航,但我不希望如果可能。
任何幫助感激地接受
有很多流利的API使用的文章 – Eranga 2012-07-15 12:31:56
*因此,一個小小的研究* - 正確的聲明將不會被研究,因爲簡單地將*實體框架「導致週期或多個級聯路徑」*谷歌將爲您提供答案樣本(包括[這一個](http://stackoverflow.com/questions/5828394/entity-framework-4-1i-i nverseproperty屬性 - 和 - 外鍵))。那麼流利的映射不適合你? – 2012-07-16 09:27:17
不......我看到了那個(還有很多其他的)。正如上面提到的,我正在努力理解如何構建流暢的映射,因爲你發佈的線程表示。對不起,如果我缺乏理解冒犯你! – ledragon 2012-07-16 15:17:34