використовуйте наступний рядок у вашому DataContext, щоб записати активність SQL на DataContext до консолі - тоді ви зможете точно побачити, що ваші оператори linq вимагають від бази даних:
_db.Log = Console.Out
Наступні твердження LINQ:
var movies = from row in _db.Movies
orderby row.CategoryID, row.Name
select row;
І
var movies = _db.Movies.OrderBy(m => m.CategoryID).ThenBy(m => m.Name);
виробляють наступний SQL:
SELECT [t0].ID, [t0].[Name], [t0].CategoryID
FROM [dbo].[Movies] as [t0]
ORDER BY [t0].CategoryID, [t0].[Name]
В той час, як повторення OrderBy в Linq, схоже, повертає результат SQL:
var movies = from row in _db.Movies
orderby row.CategoryID
orderby row.Name
select row;
І
var movies = _db.Movies.OrderBy(m => m.CategoryID).OrderBy(m => m.Name);
виробляють наступний SQL (ім'я та ідентифікатор категорії переключені):
SELECT [t0].ID, [t0].[Name], [t0].CategoryID
FROM [dbo].[Movies] as [t0]
ORDER BY [t0].[Name], [t0].CategoryID