Как настроить два свойства навигации одного типа в Entity Framework

Сначала с кодом 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; }
}
12
задан abatishchev 21 April 2011 в 17:13
поделиться