public class Order {
public int OrderID {get; set;}
public DateTime DateOrdered { get; set; }
public ICollection<OrderLine> OrderLines { get; set; }
}
public class OrderLine{
public int OrderLineID { get; set; }
public int OrderID {get; set; } // I want to remove this
public string ItemName { get; set;}
public Int Qty { get; set; }
}
どのようにこれらをFluent APIを使用してマッピングしますか?私はOrder
が集約のルートになるリポジトリパターンでこれらを使用しています。そのため、私はOrderLineにOrder
への参照を持たせたくない、またはOrderID
を持っていることを望んでいません。 OrderLine
は、Order
という子供のために意味をなさないからです。現在、私はこれを使用していますエンティティタイプのプロパティではなく、データベース列を使用した関連付けを定義する
:私はここに、既存のデータベース構造を使用していますし、理想的に私は、データベースの列名を使用して、これをマップする
HasMany<OrderLine>(x => x.OrderLines).WithRequired().HasForeignKey(x => x.OrderID);
。だから何とかOrderLine.OrderID
ではなくtblOrderLine.colOrderId
を使用するように指示します。
をマッピングするために
Map()
メソッドを使用することができます。 'OrderLine'テーブルのPKとは何ですか? – ErangaOrderLineにはPKとしてOrderLineIDがあります。私は上記に合わせて調整します。 –