Return Tuple from EF select

Viewed 12085

How can I retrieve Tuples at Select using EF4?

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

Or

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

Entity framework says that cant use not empty constructor for first case, and not recognize Tuple.Create method for second.

2 Answers

How about switching to LINQ-to-Objects for the 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);
Related