Me gusta reutilizar expresiones por razones DRY, pero ¿cómo reutilizo las expresiones dentro de una declaración LINQ?¿Cómo puedo reutilizar expresiones dentro de las declaraciones LINQ?
p. Ej.
tengo
public static class MyExpressions {
public static Expression<Func<Product,bool>> IsAGoodProduct() {
return (p) => p.Quality>3;
}
}
Y me gustaría usar que en los estados de LINQ, por lo
var goodProds = from p in dataContext.Products
where ????? // how do I use IsAGoodProduct here?
select p;
Claro, podría utilizar la función IQueryableExtension.Where, pero que haría que se une y otras funciones mucho más feo para consultas más complejas.
¿Esto es posible o es una limitación de LINQ?
@Gary - espero que no te importe que agregué un ejemplo para hacerlo más claro. – tvanfosson
No, eso es genial :) –
¿Qué pasa con el uso: "donde IsAGoodProduct(). Compile(). Invoke()" – Razzie