Как работает OrderBy в LINQ (за кадром)? - PullRequest
5 голосов
/ 19 июня 2009

Я уже знаю, что LINQ работает, оценивая выражения и перебирая их по очереди (вид конвейера), однако существуют определенные операции, такие как OrderBy, которые необходимо буферизовать, поскольку сортировка требует одновременного анализа всех данных для сделать сортировку.

Мне интересно узнать за кадром, как эти данные буферизуются в LINQ за кулисами.

Если кто-то может указать мне статью или объяснение, я был бы признателен.

Спасибо

1 Ответ

2 голосов
/ 19 июня 2009

Это зависит от поставщика LINQ для реализации. Некоторые провайдеры (например, LINQ to SQL, LINQ to Entities) транслитерируют в SQL OrderBy. Другие (LINQ to Objects) будут сортировать на клиенте. Все, что LINQ действительно делает, - это вызывает метод с именем OrderBy или OrderByDesc.

...