0

これが #$*% 難しいのはなぜですか? すべきではありません。

2 つのテーブル Orders と Shippers: Orders.ship_via、int は Shippers.ShipperId の FK です Shippers.ShipperId は Shippers の PK です

私のエンティティ:

public class Order : Entity
{
  public int OrderId { get; set; }
  public int ShipVia { get; set; }
  //More properties
  public virtual Shipper Shipper { get; set; }
}

public class Shipper : Entity
{
  public int ShipperId { get; set; }
  //More properties
}

これを実行すると、EF は、存在しない Order.ShipperId を使用して Order.Shipper を自然に設定しようとします。

注釈を使用したくありません。流暢なマップを作成するにはどうすればよいですか?

(注: テストを実行する場合、私のテスト環境では Northwind を使用します)。

4

1 に答える 1

2

次のようなことを試してください:

modelBuilder.Entity<Order>()
   .HasRequired(o => o.Shipper) // Or .HasOptional if it's not required
   .WithMany() // No reverse navigation property
   .HasForeignKey(o => o.ShipVia)
   .WillCascadeOnDelete(true);
于 2012-12-05T12:58:48.207 に答える