Метод First
будет выполнять OrderBy
(то есть, если, конечно, метод First
выполняется). Когда метод First
извлекает первый элемент из результата OrderBy
, он должен отсортировать все элементы, чтобы выяснить, какой из них является первым.
В зависимости от того, где и как выполняется запрос (т. Е. Если механизм запросов не может оптимизировать его), второй запрос может работать довольно плохо. Если Orders.Max
оценивается один раз для каждого элемента в Orders
, это становится операцией O (n * n), что довольно плохо.
Существует также функциональная разница: второй запрос может возвращать более одного элемента, если есть повторяющиеся даты.