使用代碼優先的EF4(使用CTP5)我可以添加一個導航屬性以及外鍵,它將尊重命名並僅添加外鍵到桌上一次。如果我然後添加同一類型的第二個屬性,它將它分解成表格中的4列而不是2列。如何在實體框架中設置相同類型的兩個導航屬性
示例代碼:
在這種模式下,我得到添加到名爲PressTypeID的壓力式的AdapterFrameCapability表的一個屬性。
public class AdapterFrameCapability
{
[Key]
public int AdapterFrameCapabilityID { get; set; }
[Required]
public int PressTypeID { get; set; }
public virtual PressType PressType { get; set; }
}
這是我要建模的設置,但它會導致在該表中,每一個FromPressTypeID,FromPressTypeFromPressTypeID,ToPressTypeID和ToPressTypePressTypeID創建4列。理想情況下,我只需要一個FromPressTypeID和ToPressTypeID列。我在這裏做錯了什麼?
public class AdapterFrameCapability
{
[Key]
public int AdapterFrameCapabilityID { get; set; }
[Required]
public int FromPressTypeID { get; set; }
[Display(Name = "From Press Type")]
public virtual PressType FromPressType { get; set; }
[Required]
public int ToPressTypeID { get; set; }
[Display(Name = "To Press Type")]
public virtual PressType ToPressType { get; set; }
}