コード最初の EF4 (CTP5 を使用) を使用すると、外部キーと共に単一のナビゲーション プロパティを追加できます。これにより、名前付けが尊重され、外部キーがテーブルに 1 回だけ追加されます。次に、同じタイプの 2 つ目のプロパティを追加すると、テーブルの 2 列ではなく 4 列に分割されます。
サンプルコード:
このモデルでは、PressTypeID という名前の PressType の AdapterFrameCapability テーブルに 1 つのプロパティが追加されます。
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; }
}