У меня есть следующее лямбда-выражение:
IEnumerable<Order> query
= _ordersRepository.GetAllByFilter(
o =>
o.OrderStatus.OrderByDescending(os => os.Status.Date).First()
.Status.StatusType.DisplayName != "Completed"
||
o.OrderStatus.OrderByDescending(os => os.Status.Date).First()
.Status.Date > sinceDate
).OrderBy(o => o.DueDate);
Как вы можете видеть, мне нужно дважды упорядочить коллекцию в основном запросе (всего три раза), чтобы выполнить мой запрос OR.
1) Достаточно ли умен оптимизатор запросов, чтобы эффективно справиться с этим?
2) Если нет, как я могу переписать это выражение только один раз, но с использованием синтаксиса лямбды ?
Это связано с предыдущим вопросом , который объясняет запрос более подробно, если приведенный выше код неясен.