Подтвердить что ты не робот

Запретить Entity Framework добавлять ORDER BY при использовании Include

У нас есть запрос, похожий на следующий:

from x in db.Table.Include(x => x.Parent)
                  .Include(x => x.Parent.Relation)
                  .Include(x => x.Relation)
                  .Include(x => x.Children)
where /* some query */
select x

Проблема заключается в том, что при добавлении .Include(x => x.Children) оператор ORDER BY, который Entity Framework добавляет к сгенерированному SQL, заставляет запрос выполнять много времени - что-то вроде ниже:

ORDER BY [Project2].[Id1] ASC, [Project2].[Id2] ASC, [Project2].[Id] ASC, [Project2].[C4] ASC

Добавление orderby к запросу linq также не помогает, это не влияет на вышеприведенный оператор, кроме добавления дополнительного столбца для сортировки.

4b9b3361

Ответ 1

По-видимому, это то, что EF делает внутренне, чтобы облегчить создание результирующих объектов впоследствии. Вы не можете удалить инструкцию order by.