Assumer ces objets ...
MyClass myClass = (from MyClassTable mct in this.Context.MyClassTableSet select new MyClass { ID = mct.ID, Name = mct.Name, Things = (from MyOtherClass moc in mct.Stuff where moc.IsActive select new MyOtherClass { ID = moc.ID, Value = moc.Value }).AsEnumerable() }).FirstOrDefault();
4 Réponses :
Je ne suis pas sûr de quoi exactement votre question, mais Un code qui fera votre projection et que des choses soient une liste au lieu d'un iNeumable utiliserait l'opérateur Tolist (), qui crée une liste list
ienumerable
ienumerable < T> code> ceci: p>
Tolist () sur une requête Linq à des entités n'est pas prise en charge, c'est pourquoi j'ai posé cette question.
Y a-t-il une référence pour cela? Le LINQ de MSDN Vers des entités montre que vous pouvez en fait utiliser TOLIST. msdn.microsoft.com/en-us/library/bb896246. ASPX? PPUD = 4
Vous pouvez utiliser Tolist () à la suite d'une requête, mais maintenant dans une requête. Dans l'exemple de votre lien, le Tolist () est ajouté à la fin d'une expression LINQ. Dans mon code, il est incorporé dans l'expression, par conséquent, non pris en charge.
Gotcha, la cause de la racine est linq aux entités ne peut pas instancier la liste
vous ne le faites pas. Vous devez faire cette partie dans L2O.
Pour que vous puissiez faire: p> Il n'y a aucun moyen de le faire dans une requête. P> P>
Merci, je viens de comprendre cela aussi.
Cette réponse a été utile, mais c'est comme ça que je fais cela. Cela convertit en Pocos et peut soutenir des listes imbriquées illimitées. Très simple mais puissant:
Veuillez regarder la solution suivante. Vous pouvez séparer les champs de la liste et iéenumérables dans votre classe: Vous devez donc utiliser des chosesForLinq dans EF Linq requêtes: p> et Utilisez des choses plus tard: p>