J'ai plusieurs tables liées (entités). Je suis en train d'obtenir les entités utilisant la LINQ suivante:Linq: les objets liés sont null, pourquoi?
ObjectQuery<Location> locations = context.Location;
ObjectQuery<ProductPrice> productPrice = context.ProductPrice;
ObjectQuery<Product> products = context.Product;
IQueryable<ProductPrice> res1 = from pp in productPrice
join loc in locations
on pp.Location equals loc
join prod in products
on pp.Product equals prod
where prod.Title.ToLower().IndexOf(Word.ToLower()) > -1
select pp;
Cette requête renvoie 2 enregistrements, objets productPrice qui ont lié l'objet Lieu et produit, mais ils sont nuls et je ne comprends pas pourquoi. Si je tente de les remplir LINQ comme ci-dessous:
res =
from pp in productPrice
join loc in locations
on pp.Location equals loc
join prod in products
on pp.Product equals prod
where prod.Title.ToLower().IndexOf(Word.ToLower()) > -1
select new ProductPrice
{
ProductPriceId = pp.ProductPriceId,
Product = prod
};
Je l'exception « L'entité ou le type complexe « PBExplorerData.ProductPrice » ne peut pas être construit dans un LINQ to Entities requête » Quelqu'un pourrait-il me expliquer s'il vous plaît que se passe-t-il et que dois-je faire? Merci
Merci pour la solution! Bien que votre solution ne soit pas la meilleure pour moi (je préfère utiliser le chargement différé) mais cela m'a permis de comprendre où chercher et quoi chercher. J'ai trouvé que le chargement différé peut être fait en utilisant la méthode Load() de l'EntityReference dans l'entité principale. – mimic