8

On suppose avoir ces modèles premiers:EF base de second niveau ThenInclude missworks

Method qui a un OriginalCode OriginalCode qui a beaucoup Mutant s Mutant qui a beaucoup ParseSubTree s

maintenant lors de l'interrogation sur Method Je veux la l'autre étant chargé. J'ai donc les suivantes:

Method targetMethod = dBContext.Methods 
      .Include(me => me.OriginalCode) 
       .ThenInclude(oc => oc.Mutants) 
      .FirstOrDefault(me => me.Id == id); 

et l'étape suivante consiste à inclure en plus le ParseSubTree. Mais la chose est que je ne peux pas y accéder. Voir l'image suivante:

mu is a list except object reference

le problème est « mu est une liste au lieu d'être une référence d'objet »!

Où est mon erreur!

TG.

+0

Il est juste question IntelliSense - voir [ce commentaire] (https://stackoverflow.com/questions/40319251/using-ef-core-theninclude-on-junction-tables/40319559#comment78168979_40319559) par exemple. Pour l'instant il suffit de taper le nom de la propriété manuellement et il va compiler et fonctionner. –

+0

@IvanStoev, vous avez raison. S'il vous plaît poster votre commentaire comme une réponse. Merci. Peut-être quelqu'un est confronté à cette question. – ConductedClever

Répondre

12

Il s'agit d'un problème connu d'Intellisense avec la surcharge ThenInclude pour les propriétés de navigation de type collection, suivi par le problème Roslyn GitHub Completion missing members of lambda parameter in fault tolerance case #8237.

Jusqu'à ce qu'il soit corrigé, tapez simplement le nom de la propriété et il se compilera avec succès et fonctionnera comme prévu.

.ThenInclude(mu => mu.ParseSubTrees)