J'ai une requête ci-dessous, mais je veux effectuer un Include() pour charger avidement les propriétés. Actions a une propriété de navigation, User (Action.User)
1) Ma question de base :
from a in Actions
join u in Users on a.UserId equals u.UserId
select a
2) Première tentative :
from a in Actions.Include("User")
join u in Users on a.UserId equals u.UserId
select a
Mais Action.User est no populeux.
3) Essayez de charger "User" dans la propriété de navigation de l'action en dehors de la requête :
(from a in Actions
join u in Users on a.UserId equals u.UserId
select a).Include("User")
Dans LINQPad en essayant les Include's j'obtiens une erreur :
System.Linq.IQueryable' ne contient pas de définition pour 'Include' et aucune méthode d'extension 'Include' acceptant un premier argument de type 'System.Linq.IQueryable' n'a pu être trouvée (appuyez sur F4 pour ajouter une directive using ou une référence d'assemblage).
Je pense que c'est parce que LINQ ne supporte pas Include().
J'ai donc essayé dans VS ; la requête 2 fonctionne, mais renvoie une propriété utilisateur non remplie. Pour la requête 3, la méthode d'extension ne semble pas exister, bien qu'elle existe sur l'action elle-même sans la requête.