Можно ли вернуть несколько объектов из запроса LinqToSql (или EF) (запрос находится внутри метода), чтобы результаты по-прежнему можно было компоновать?
Примерно так:
public IQueryable<KeyValuePair<Customer, Product>> GetCustomerEntities()
{
return
(
from customer in this.Context.Customers
join
product in this.Context.Products on customer.ID equals product.CustomerID
select new KeyValuePair<Customer, Product>(customer, product)
);
}
Затем я хочу использовать результат этого метода для дальнейшего составления запроса, например:
this.GetCustomerEntities().Where(e => e.Key.Name == "my customer")
Приведенный выше метод компилируется, но он не может быть выполнен LinqToSql, поскольку он не может преобразовать KeyValuePair в SQL, что является ожидаемым поведением.
Можно ли как-то этого добиться?