Renvoyer le tuple à partir de la sélection EF

.net c# entity-framework linq-to-entities

Question

Comment puis-je récupérer des tuples chez Select en utilisant EF4?

        var productCount = (from product in context.products
                    select new Tuple<Product, int>(product, products.Orders.Count));

Ou

        var productCount = (from product in context.products
                    select Tuple.Create(product, products.Orders.Count));

Entity Framework indique que le constructeur ne peut pas utiliser un constructeur non vide pour le premier cas et ne pas reconnaître la méthode Tuple.Create pour le second

Réponse acceptée

Que diriez-vous de passer à LINQ-to-Objects pour la projection:

var productCount = from product in context.products
                select new {Product = product, Count = products.Orders.Count };
var final = from item in productCount.AsEnumerable()
            select Tuple.Create(item.Product, item.Count);

Réponse populaire

Essayer

 var productCount = from product in context.products 
                    select new { product, Count = products.Orders.Count }; 

Cela renverra un type anonyme très proche d'un tuple http://msdn.microsoft.com/en-us/library/bb738512.aspx



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow