Question Tuple de retour de EF select


Comment puis-je récupérer des tuples à la sélection 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));

Le framework d'entité dit qu'il est impossible d'utiliser un constructeur vide pour le premier cas et de ne pas reconnaître la méthode Tuple.Create pour le second.


17
2018-01-22 16:24


origine


Réponses:


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);

19
2018-01-22 16:29



Essayer

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

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


1
2017-08-27 01:31