tôi muốn hợp nhất các biểu thức sau:Làm cách nào để hợp nhất hai Biểu thức Lambda C# không có lời gọi?
// 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;
tôi đã nhận nó để làm việc bằng cách sử dụng invoke trên selectOrderLines và cung cấp kết quả cho validateOrderLines, nhưng vì tôi đang sử dụng các biểu thức trong Entity Framework, Tôi phải thực sự tạo ra một biểu thức rõ ràng cần đại diện:
Expression<Func<Order, Boolean>> validateOrder = o => o.Lines.Count > 0;
Tôi làm cách nào để thực hiện điều này?
Tôi cần gì để tôi n để thêm dấu ngoặc vào cái này? Ý tôi là nếu tôi muốn xây dựng bộ lọc như (ProductId == 1 hoặc ProductId == 2) và a.text.StartsWith ("a") – Marty
Tôi tìm thông số ở đâu? – h8red
Nếu vì lý do nào đó bạn vẫn đang tìm tham sốRebinder, nó có thể được tìm thấy tại [MSDN blog] (http://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities -combining-predicates.aspx) –