sử dụng dòng sau trên DataContext của bạn để ghi nhật ký hoạt động SQL trên DataContext vào bàn điều khiển - sau đó bạn có thể thấy chính xác những câu lệnh linq của bạn đang yêu cầu từ cơ sở dữ liệu:
_db.Log = Console.Out
Các câu lệnh LINQ sau:
var movies = from row in _db.Movies
orderby row.CategoryID, row.Name
select row;
VÀ
var movies = _db.Movies.OrderBy(m => m.CategoryID).ThenBy(m => m.Name);
tạo SQL sau:
SELECT [t0].ID, [t0].[Name], [t0].CategoryID
FROM [dbo].[Movies] as [t0]
ORDER BY [t0].CategoryID, [t0].[Name]
Trong khi đó, việc lặp lại một OrderBy trong Linq, dường như đảo ngược kết quả đầu ra SQL:
var movies = from row in _db.Movies
orderby row.CategoryID
orderby row.Name
select row;
VÀ
var movies = _db.Movies.OrderBy(m => m.CategoryID).OrderBy(m => m.Name);
tạo SQL sau (Tên và CategoryId được chuyển đổi):
SELECT [t0].ID, [t0].[Name], [t0].CategoryID
FROM [dbo].[Movies] as [t0]
ORDER BY [t0].[Name], [t0].CategoryID