私のプロジェクトには次のモデルがあります(EF5、DBContext、データベースが最初):
お客様
InvoiceAddress -> Addresses (table)
DeliveryAddress -> Addresses (table)
だから私は同じテーブルへの2つの外部キーを持っています。
次のステートメントを使用して顧客エンティティをロードすると:
var cst = ctx.Customers.Where(c => c.CustomerID == 2).SingleOrDefault();
ctx.Entry(cst).Reference(c => c.InvoiceAddress).Load();
InvoiceAddress の参照が読み込まれた後、DeliveryAddress も読み込まれます。ただし、これは請求書と配送 ID が同じ場合にのみ発生します。等しくない場合、DeliveryAddress は読み込まれません。この動作の原因は何ですか?