Estoy tratando de reutilizar parte de una consulta, porque es lo suficientemente complejo como para intentar evitar la duplicación de código.¿Cómo se pueden reutilizar las consultas de Entity Framework (usando métodos)?
Parece que cuando se llama a cualquier método dentro de una consulta, se termina con:
LINQ a Entidades no reconoce el método Método {X}, y este método no se puede traducir en una expresión tienda
Lo que me gustaría hacer lo ideal es usar:
var q = from item in context.Items
where item.SomeCondition == true
select new {Item = item, Connections = GetConnections(item)};
GetConnections
es el método que realiza consultas en item
. Estoy intentando reutilizar la consulta (bastante compleja) en GetConnections
, pero no estoy seguro de cómo hacer que funcione.
Firma actual de GetConnections es algo así como:
IQuerable<Connection> GetConnections(MyItem item)
Cualquier idea de cómo hacer lo mismo cuando no tiene un 'IQuerable' sino simplemente 'Cliente ¿? ¿Es eso posible? –
CustomerWithRecentOrders x = myContext.Customers .Where (c => c == myCustomer) .Select (selector) .Single() –