17 Stimmen

Rückgabe Tupel aus EF select

Wie kann ich Tupel bei Select mit EF4 abrufen?

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

Oder

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

Entity-Framework sagt, dass nicht leeren Konstruktor für den ersten Fall verwenden können, und nicht erkennen Tuple.Create-Methode für zweite.

21voto

Marc Gravell Punkte 970173

Wie wäre es, für die Projektion zu LINQ-to-Objects zu wechseln?

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

0voto

Aaron Stainback Punkte 3294

Versuchen Sie

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

Dies gibt einen anonymen Typ zurück, der einem Tupel sehr ähnlich ist http://msdn.microsoft.com/en-us/library/bb738512.aspx

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X