update query multiple framework columns all c# sql linq entity-framework entity-framework-6

c# - query - linq to entities



Evite que Entity Framework agregue ORDER BY cuando use Include (1)

Aparentemente, es algo que EF hace internamente para facilitar la creación de objetos resultantes después. No se puede eliminar el order by instrucciones.

Tenemos una consulta similar a la siguiente:

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

El problema es que al agregar .Include(x => x.Children) , la instrucción ORDER BY que Entity Framework agrega al SQL generado hace que la consulta tarde mucho en ejecutarse, algo como lo siguiente:

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

La adición de orderby a la consulta de linq tampoco ayuda, no afecta a la declaración anterior además de agregar una columna adicional para ordenar.