我有以下查詢:LINQ到實體框架多對多的預先加載的問題
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()
該項目需要時間執行,我想保留號碼的數據庫調用了下來。
編輯#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;
我只是嘗試這樣做,並沒有奏效。請參閱上面的編輯#1。 – JasonRShaver 2009-06-01 21:29:28
它返回什麼? – bytebender 2009-06-01 22:04:40