我試圖讓Entity Framework以特定的1對1關係的某種方式創建表。由實體框架創建的自定義1對1關係
比方說,我有這樣的組類:
public class Parent
{
public int ID { get; set; }
public string Title { get; set; }
public Child XYZ { get; set; }
}
public class Child
{
public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
}
的Parent
類的XYZ
屬性可能被設置爲Child
一個實例。我希望EF爲這兩個類中的每一個創建一個表,Child
對象的表應該只有一個外鍵列,最好名爲「ParentID」,以保持與Parent
對象的關係。
我不想在Parent表中添加一個「ChildID」列,而且我也不想爲Child
類添加一個ID或ParentID屬性。
當前,Child
對象的屬性創建爲父表中的列,並且如果XYZ屬性未設置爲Child
類的實例(即,它不能爲空),則會發生異常。
我試圖用DbModelBuilder和OnModelCreating事件來做到這一點。 IsOptional method只適用於簡單的類型。
有什麼建議嗎? EF甚至有可能嗎?
謝謝。我想我必須咬緊牙關併爲我的Child類添加一個ID屬性。 :) –