LINQ to Entities - OrderBy (). ToLisT () или ToList (). OrderBy ()

Я ищу подтверждение / уточнение с этими выражениями LINQ:

var context = new SomeCustomDbContext()

// LINQ to Entities?
var items  = context.CustomItems.OrderBy(i => i.Property).ToList();

// LINQ to Objects?
var items2 = context.CustomItems.ToList().OrderBy(i => i.Property);

(Q1), Правильно ли я считаю, что первый методLINQ to Entities где EF создает более конкретный оператор SQL для передачи, упорядочивая базу данных?

(Q2), Это второй методLINQ to Objects где LINQ перетаскивает всю коллекцию в память (ToList() перечисление?) перед заказом, таким образом, оставляя бремя на стороне сервера (веб-сервер в данном случае)?

Если это так, я могу быстро увидеть ситуации, в которых L2E был бы выгоден (например, фильтрация / обрезка коллекций перед вытягиванием их в память).

(Q3) Но есть ли какие-либо другие детали / компромиссы, о которых я должен знать, или времена, когда "способ 2 " может быть выгоднее первого метода?

ОБНОВИТЬ:

Позволять'скажем, мы не используем EntityFramework, это все еще верно, пока базовый репозиторий / источник данных реализуетIQueryable право? И если это необа эти утверждения приводят кLINQ to Objects операции в памяти?

Ответы на вопрос(3)

Ваш ответ на вопрос