use la siguiente línea en su DataContext para registrar la actividad de SQL en el DataContext en la consola; luego podrá ver exactamente lo que sus declaraciones linq solicitan de la base de datos:
_db.Log = Console.Out
Las siguientes declaraciones de LINQ:
var movies = from row in _db.Movies
orderby row.CategoryID, row.Name
select row;
Y
var movies = _db.Movies.OrderBy(m => m.CategoryID).ThenBy(m => m.Name);
producir el siguiente SQL:
SELECT [t0].ID, [t0].[Name], [t0].CategoryID
FROM [dbo].[Movies] as [t0]
ORDER BY [t0].CategoryID, [t0].[Name]
Mientras que, al repetir un OrderBy en Linq, parece revertir la salida SQL resultante:
var movies = from row in _db.Movies
orderby row.CategoryID
orderby row.Name
select row;
Y
var movies = _db.Movies.OrderBy(m => m.CategoryID).OrderBy(m => m.Name);
producir el siguiente SQL (se cambian Name y CategoryId):
SELECT [t0].ID, [t0].[Name], [t0].CategoryID
FROM [dbo].[Movies] as [t0]
ORDER BY [t0].[Name], [t0].CategoryID