У нас есть запрос, похожий на следующий:
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 также не помогает, это не влияет на вышеприведенный оператор, кроме добавления дополнительного столбца для сортировки.