J'ai la requête suivante:LINQ to Entity Framework Beaucoup Many Désireuse problème de chargement
var MyQuery = from e in ContractContext.Equipments.Include("Manufacturers")
where e.Customers.ID == customer.ID
select e;
Et tout fonctionne, je reçois mes équipements et il charge correctement la table des fabricants (avec impatience). Mais quand j'essaie de faire beaucoup à plusieurs requête suivante:
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;
où « ContractEquipments » est un nombre à plusieurs recherche entre les « équipements » et « contrats », mais lorsque cette requête est exécutée, la La table des fabricants n'est plus facilement chargée. Toute idée comment résoudre ce problème sans faire ce qui suit:
if (MyEntity.Manufacturers.IsLoaded == false)
MyEntity.ManufacturersReference.Load()
Ce projet prend des heures et exécuter je veux garder le nombre de base de données Invoque.
EDIT # 1:
J'ai aussi essayé sans succès:
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;
Merci mec, travaillé comme un charme. – JasonRShaver
Juste se demander, n'est pas le point d'avoir une inclusion tôt est d'ajouter une sorte de fonctionnalité à cette entité dans la requête elle-même? Comme si vous vouliez inclure ("Fabricants") et l'inclure dans la clause where, si vous vouliez obtenir une liste de fabricants connexes trouvés à New York par exemple. – sksallaj