MVC 5.2、EF 6.1.3、およびSQL Server 2008 R2でコードファーストを使用しています。EFが外部キーをマップできません
アイテムと表示の2つのテーブルがあります。 Itemには、Display.DisplayIDへの外部キーを持つPreOrderDisplayIDという列があります。 EF層で
、私が持っている:私はEFを経由して、このテーブルを照会しようとすると
class Item
public int? PreOrderDisplayID { get; set; }
public virtual Display PreOrderDisplay { get; set; }
...
class Display
public int DisplayID { get; set; }
public virtual ICollection<Item> PreOrderItems { get; set; }
...
class OrdersContext : DbContext
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Display>()
.HasMany(e => e.PreOrderItems)
.WithOptional(e => e.PreOrderDisplay)
.HasForeignKey(e => e.PreOrderDisplayID);
}
...
、私が取得:
無効な列名 'Display_DisplayID'。
と、私はカバーの下に、EFが存在しない列でSQLを生成していることがわかります。
INNER JOIN [dbo].[Item] AS [Extent2] ON [Extent1].[ItemID] = [Extent2].[ItemID]
...
LEFT OUTER JOIN [dbo].[Display] AS [Extent5] ON [Extent2].[Display_DisplayID] = [Extent5].[DisplayID]
私が間違っているのか?ありがとうございました。
は 'Item'と'表示のための完全なクラス定義を示し、 'とフルフューム構成 – Moho