Я использую EF6, но когда я хочу загрузить одну сущность, у меня возникают некоторые проблемы
var salesOrder = _unitOfWork.With<SalesOrder>().Where(x => x.Guid == guid)
.Include(x => x.SalesOrderLines)
.Include(x => x.ShippingAddress)
.Include(x => x.BillingAddress)
.Include(x => x.SoldTo)
.FirstOrDefault();
У SoldTo есть коллекция адресов, я хочу, чтобы они также загружались, но почему-то я не Это невозможно.
Для ShippingAddress и BillingAddress задан один из адресов объекта SoldTo.
Когда этот запрос выполняется, я получаю только SoldTo с 1 загруженным адресом в памяти из БД.
Если я использую этот подход
var salesOrder = _unitOfWork.With<SalesOrder>().FirstOrDefault(x => x.Guid == guid);
_unitOfWork.Entry(salesOrder).Reference(x => x.SoldTo).Load();
_unitOfWork.Entry(salesOrder.SoldTo).Collection(x => x.Addresses).Load();
, объект SoldTo заполняется обоими его адресами, а также заполняется ShippingAddress и BillingAddress заполняется. без действительно загружаем данные из объекта salesOrder.
Что здесь происходит? Кажется, я не понимаю механики, стоящей за этим.