我的项目中有以下模型(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。是什么导致了这种行为?