使用Include时阻止entity framework添加ORDER BY

我们有类似以下的查询:

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) ,Entity Framework添加到生成的SQL的ORDER BY语句会导致查询花费很长时间来执行 – 如下所示:

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

将orderby添加到linq查询也没有帮助,除了添加额外的列以进行排序之外,它不会影响上述语句。

显然,这是EF在内部做的事情,以便以后简化结果对象的创建。 您无法order by指令删除order by