我有以下查询: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