Prevent Entity Framework adding ORDER BY when using Include

微笑、不失礼 提交于 2020-01-01 01:53:13

问题


We have a query similar to the following:

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

The problem is that when adding .Include(x => x.Children), the ORDER BY statement that Entity Framework adds to the generated SQL causes the query to take a long time to execute - something like the below:

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

Adding orderby to the linq query doesn't help either, it doesn't affect the statement above other than adding an additional column to sort by.


回答1:


Apparently, it's something that EF does internally to ease the creation of resulting objects afterwards. You can't remove the order by instruction.



来源:https://stackoverflow.com/questions/25504754/prevent-entity-framework-adding-order-by-when-using-include

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!