Последовательность метода LINQ, имеющего какое-либо значение?

Просто интересно, имеет ли значение, в какой последовательности добавляются методы LINQ?

Например,

using(MyDataContext context = new MyDataContext())
{
   var user = context.Users
                     .Where(u => u.UserName.StartsWith("t"))
                     .OrderByDescending(u => u.CreatedDate)
                     .FirstOrDefault();
}

, а это полностью то же самое?

using(MyDataContext context = new MyDataContext())
{
   var user = context.Users
                     .OrderByDescending(u => u.CreatedDate)
                     .Where(u => u.UserName.StartsWith("t"))
                     .FirstOrDefault();
}

Конечно, я могу протестировать все методы один за другим, но я хотел бы иметь некоторое общее представление о логике.

Итак:

  • Кроме таких методов, как FirstOrDefault (), ToList () и другие методы, которые действительно запускают выполнение, имеет ли какое-то значение иметь какой-либо тип порядка в операторе LINQ?

Еще раз спасибо!

11
задан Unmesh Kondolikar 16 December 2010 в 08:42
поделиться