У меня есть следующий запрос:LINQ к Entity Framework много-много жадная загрузка выпуска
var MyQuery = from e in ContractContext.Equipments.Include("Manufacturers")
where e.Customers.ID == customer.ID
select e;
И все работает, я получаю мои оборудование и загружает таблицу Производителей правильно (с нетерпением). Но когда я пытаюсь сделать следующее многие-ко-многим запрос:
var MyQuery = from e in ContractContext.Equipments.Include("Manufacturers")
where e.Customers.ID == customer.ID
from cce in e.ContractEquipments
where cce.Contracts.EndedOn >= DateTime.Today
select e;
где «ContractEquipments» многие-ко-многим поиска между «Оборудования» и «Контракты», но при выполнении этого запроса, Таблица производителей больше не загружается. Любая идея, как это исправить, не выполнив следующие действия:
if (MyEntity.Manufacturers.IsLoaded == false)
MyEntity.ManufacturersReference.Load()
Этот проект занимает часов выполнить, и я хочу, чтобы сохранить количество баз данных вызывает вниз.
EDIT # 1:
Я также попытался это без успеха:
var MyQuery = from e in ContractContext.Equipments.Include("Manufacturers")
where e.Customers.ID == customer.ID
join cce in ContractContext.ContractEquipments
on e.ID equals cce.Equipments.ID
where cce.Contracts.EndedOn >= DateTime.Today
select e;
Спасибо, чувак, работал как шарм. – JasonRShaver
Просто интересно, не в том, нужно ли включать раннее, чтобы добавить какую-то функциональность для этого объекта в самом запросе? Например, если вы хотите включить («Производители») и включить его в предложение where, если вы хотите получить список связанных производителей, найденных в Нью-Йорке, например. – sksallaj