Créer un Tuple dans une Linq Sélectionnez

Je travaille avec C# et .NET Framework 4.5.1 de la récupération de données à partir d'une base de données SQL Server avec Entity Framework 6.1.3.

J'ai ceci:

codes = codesRepo.SearchFor(predicate)
      .Select(c => new Tuple<string, byte>(c.Id, c.Flag))
      .ToList();

Et quand je le lance, j'obtiens ce message:

Seulement sans paramètre constructeurs et les initialiseurs sont pris en charge dans LINQ
à des Entités.

Je ne sais pas comment je dois créer le Tuple parce que tous les exemples que j'ai trouvé sont la plupart du temps comme celui-ci.

J'ai essayé ceci:

codes = codesRepo.SearchFor(predicate)
      .Select(c => Tuple.Create(c.Id, c.Flag))
      .ToList();

Et obtiens cette erreur:

LINQ to entities ne reconnaît pas la méthode
'Système.Tuple`2[Système.Chaîne,Système.Octet]
Créer[String,Byte](Système D'.String, Byte)', et cette méthode
ne peut pas être traduit dans un magasin d'expression.

Où est le problème?

  • On dirait que vous aurez besoin de créer un objet fortement typé. Mais oui, bonne question; upvoted.
InformationsquelleAutor VansFannel | 2015-11-05