我有這些類:ForeignKeyAttribute不工作MVC3 EF5
public class SystemRequirements : DbEntity
{
public string OS {get;set;}
}
public class Application : DbEntity
{
public string Name {get;set;}
public virtual SystemRequirements MinimumSystemRequirements {get;set;}
public Guid MinimumSystemRequirementsId {get;set;}
public virtual SystemRequirements RecommendedSystemRequirements {get;set;}
public Guid RecommendedSystemRequirementsId {get;set;}
}
我得到了一個錯誤說:Introducting外鍵約束可能會導致循環或多個級聯路徑。
DbEntity
是一個包含主鍵的抽象類。 [Key] public Guid Id {get;set;}
於是,我改變Application
到:
public class Application : DbEntity
{
public string Name {get;set;}
public virtual SystemRequirements MinimumSystemRequirements {get;set;}
[ForeignKey("MinimumSystemRequirements")]
public Guid MinimumSystemRequirementsId {get;set;}
public virtual SystemRequirements RecommendedSystemRequirements {get;set;}
[ForeignKey("RecommendedSystemRequirements")]
public Guid RecommendedSystemRequirementsId {get;set;}
}
所以我的問題是,爲什麼不這項工作?我甚至試過在SystemRequirements
中提到Application
,那沒用?
請不要在拼寫錯誤時翻譯這篇文章。我的代碼在VS上很好,我複製並粘貼,而不是輸出。
有趣的是,你有這方面的一些文件,你可以鏈接到? – 2013-05-15 13:42:13
不,我只記得做這一切,試一試它很容易設置,我使用的模型'計算機'和'Hdd' 「計算機」必須引用(導航屬性)到'Hdd',然後佈局'Computer'就像我的回答 – 2013-05-15 14:59:50
中的場景一樣,我發現你也可以使Id屬性爲空,永遠不會意識到這一點。仍然有外鍵協會的好處,但我更喜歡顯式(流暢)映射,而不是依賴這些隱藏的功能。 – 2013-05-15 21:42:32