関係の片側にショートカットを使用して、多対多の関係を設定しようとしています。いくつかのコードで説明する方が簡単です。
public class Product
{
public int Id { get; set; }
public string Description { get; set; }
public virtual ICollection<Order> Orders { get; set; }
}
public class Order
{
public int Id { get; set; }
public string Customer { get; set; }
public virtual ICollection<OrderDetail> Details { get; set; }
}
public class OrderDetail
{
public int Id { get; set; }
public Order Order { get; set; }
public Product Product { get; set; }
public int Quantity { get; set; }
}
ご覧のとおり、注文の詳細を注文側に記載したいと思います。ただし、商品面では、リンクされた注文のみを希望します。EFは、OrdersテーブルにProducty_Id FKを追加するため、間違ったデータベーススキーマを生成します。
私は特定のモデル作成の指示を与えようとしましたが、成功しませんでした:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Product>().HasMany(x => x.Orders);
}
助けてくれてありがとう!ファビアン