Mi piace riutilizzare le espressioni per motivi di DRY, ma come posso riutilizzare le espressioni all'interno di un'istruzione LINQ?Come posso riutilizzare le espressioni all'interno delle istruzioni LINQ?
ad es.
ho
public static class MyExpressions {
public static Expression<Func<Product,bool>> IsAGoodProduct() {
return (p) => p.Quality>3;
}
}
E vorrei utilizzare che nelle dichiarazioni LINQ, quindi
var goodProds = from p in dataContext.Products
where ????? // how do I use IsAGoodProduct here?
select p;
Certo, avrei potuto utilizzare la funzione IQueryableExtension.Where, ma che renderebbero unisce e altre funzioni molto più brutto per query più complesse.
È possibile o si tratta di un limite di LINQ?
@Gary - spero che non ti dispiaccia che ho aggiunto un esempio per renderlo più chiaro. – tvanfosson
No, è grandioso :) –
Che dire di usare: "dove IsAGoodProduct(). Compila(). Invoke()" – Razzie