Методы конструктора запросов Платформы объекта: почему “это” и не лямбды?

Я просто начинаю с EF, и запрос как следующее кажется мне нечетный:

var departmentQuery =
                schoolContext.Departments.Include("Courses").
                OrderBy("it.Name");

А именно, что терпит мне, "это. Имя". Когда я оснащал вокруг с LINQ к SQL, в значительной степени каждый фильтр в запросе конструктора запросов мог быть указан с лямбдой, как, в этом случае, d => d. Имя.

Я вижу, что существуют переопределения OrderBy, которые берут лямбды, которые возвращают IOrderedQueryable или IOrderedEnumable, но у этого, очевидно, нет Выполнить метода, должен был получить ObjectResult, который может затем быть связан с данными.

Это кажется странным для меня, в конце концов, я читал о том, как лямбды имеют такой смысл для этого вида материала, и как они переводятся в деревья выражений и затем на выходной язык - почему я должен использовать "его. Имя"?

6
задан nlawalker 15 June 2010 в 21:44
поделиться

1 ответ

Я получаю выражения lamdba с моими; Я могу сделать Where (it.SomeProperty == 1) ... у вас есть System.Linq в качестве пространства имен? Вы можете попробовать реструктуризацию как:

var DepartmentQuery = from d в schoolContext.Departments.Include ("Курсы") заказпо г. имя select d;

Это некоторые возможности.

HTH.

2
ответ дан 17 December 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: