Допустим, у меня есть эти две сущности:Построение лямбда-выражения с использованием конкатенации
- документ, который содержит свойство DateTime (так называемый Дата).
- Период, который содержит два свойства DateTime (так называемый DateFrom и DateTo), который представляет собой период времени.
Затем рассмотрит это выражение, в котором д представляет собой документа и р представляет собой Период, который используется для фильтрации документа коллекции для возврата только тех, кто является частью данный Период:
d => d.Date >= p.DateFrom && d.Date <= p.DateTo
проблема заключается в том, дали Collectio п Период субъектов, как я мог бы построить лямбда-выражение, которое представляет собой конкатенацию нескольких выражений, как выше выражение, так что это дает:
d =>
(d.Date >= p1.DateFrom && d.Date <= p1.DateTo)
&& (d.Date >= p2.DateFrom && d.Date <= p2.DateTo)
&& (d.Date >= p3.DateFrom && d.Date <= p3.DateTo)
&& ...
Я хочу, чтобы результат выражениялямбды, что я могу в дополнение к другим условиям, прежде чем фильтровать мою коллекцию документов.
Не будет ли проще ограничивать набор результатов поэтапно, а не все в одном большом && fest? Если вы используете Linq, он все равно их построит, пока вы не запросите данные. –