Ich habe die folgende Frage:
var MyQuery = from e in ContractContext.Equipments.Include("Manufacturers")
where e.Customers.ID == customer.ID
select e;
Und alles funktioniert, ich bekomme meine Ausrüstungen und die Tabelle der Hersteller wird korrekt geladen (eifrig). Aber wenn ich versuche, die folgende Many-to-many-Abfrage zu machen:
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;
wobei "ContractEquipments" eine Many-to-many-Suche zwischen "Equipments" und "Contracts" ist, aber wenn diese Abfrage ausgeführt wird, wird die Tabelle "Manufacturers" nicht mehr einfach geladen. Irgendeine Idee, wie man dies beheben kann, ohne das Folgende zu tun:
if (MyEntity.Manufacturers.IsLoaded == false)
MyEntity.ManufacturersReference.Load()
Die Ausführung dieses Projekts dauert Stunden, und ich möchte die Anzahl der Datenbankaufrufe gering halten.
EDIT #1:
Ich habe dies auch ohne Erfolg versucht:
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;