Mi piacerebbe unire le seguenti espressioni:Come unire due espressioni Lambda C# senza una chiamata?
// example class
class Order
{
List<OrderLine> Lines
}
class OrderLine { }
Expression<Func<Order, List<OrderLine>>> selectOrderLines = o => o.Lines;
Expression<Func<List<OrderLine>, Boolean>> validateOrderLines = lines => lines.Count > 0;
// now combine those to
Expression<Func<Order, Boolean>> validateOrder;
ho preso a lavorare utilizzando un invoke sulle selectOrderLines e fornendo il risultato ai validateOrderLines, ma perché sto utilizzando queste espressioni in Entity Framework, Devo effettivamente creare un'espressione pulita che dovrebbe rappresentare:
Expression<Func<Order, Boolean>> validateOrder = o => o.Lines.Count > 0;
Come posso fare questo?
Cosa avrei bisogno di Per aggiungere parentesi a questo? Voglio dire Se voglio creare un filtro come (ProductId == 1 o ProductId == 2) e a.text.StartsWith ("a") – Marty
Dove trovo il parametroRebinder? – h8red
Se per qualche ragione stai ancora cercando parameterRebinder, puoi trovarlo su [MSDN blog] (http://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities -combining-predicates.aspx) –