說我有以下POCO類:EF代碼第一單向一對一許多與數據註釋
public class Parent
{
public int ID { get; set; }
}
public class Child
{
public int ID { get; set; }
public int MyParentID { get; set; }
[ForeignKey("MyParentID")]
public Parent MyParent { get; set; }
}
的Child.MyParent
屬性映射到Parent
表有一個一對多的關係,但我不不希望Parent
類知道關聯(單向)。我可以DbContext.OnModelCreating
(或其任何等價物)與下列內做到這一點:
modelBuilder.Entity<Child>()
.HasRequired(c => c.MyParent)
.WithMany()
.HasForeignKey(c => c.MyParentID);
但是,我似乎無法找到與數據註解相同。有這樣的事嗎?該ForeignKey
註釋我使用似乎需要雙向性,因爲它給我的「無法確定關聯的主要結束」異常,直到我上了Parent
類添加一個ICollection<Child>
財產
UPDATE 此代碼實際上應該按原樣工作。我試圖在代碼中分離的問題實際上並未涉及此設置。我發佈了一個關於我的問題here的新問題。
你什麼時候得到這個異常?當EF構建模型或添加/更新實體時?在SaveChanges()'期間會發生嗎? – Slauma