Сначала с кодом EF4 (с использованием CTP5) я могу добавить одно свойство навигации вместе с внешним ключом, и оно будет уважать именование и только один раз добавит внешний ключ в таблицу. Если я затем добавлю второе свойство того же типа, оно разбит его на 4 столбца в таблице вместо двух.
Пример кода:
В этой модели я получаю одно свойство, добавленное к Таблица AdapterFrameCapability для PressType с именем PressTypeID.
public class AdapterFrameCapability
{
[Key]
public int AdapterFrameCapabilityID { get; set; }
[Required]
public int PressTypeID { get; set; }
public virtual PressType PressType { get; set; }
}
Это настройка, которую я хочу смоделировать, но в результате в таблице создается 4 столбца, по одному для FromPressTypeID, FromPressTypeFromPressTypeID, ToPressTypeID и ToPressTypePressTypeID. В идеале мне нужен столбец для 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; }
}