Я просто начинаю с EF, и запрос как следующее кажется мне нечетный:
var departmentQuery =
schoolContext.Departments.Include("Courses").
OrderBy("it.Name");
А именно, что терпит мне, "это. Имя". Когда я оснащал вокруг с LINQ к SQL, в значительной степени каждый фильтр в запросе конструктора запросов мог быть указан с лямбдой, как, в этом случае, d => d. Имя.
Я вижу, что существуют переопределения OrderBy, которые берут лямбды, которые возвращают IOrderedQueryable или IOrderedEnumable, но у этого, очевидно, нет Выполнить метода, должен был получить ObjectResult, который может затем быть связан с данными.
Это кажется странным для меня, в конце концов, я читал о том, как лямбды имеют такой смысл для этого вида материала, и как они переводятся в деревья выражений и затем на выходной язык - почему я должен использовать "его. Имя"?
Я получаю выражения lamdba с моими; Я могу сделать Where (it.SomeProperty == 1) ... у вас есть System.Linq в качестве пространства имен? Вы можете попробовать реструктуризацию как:
var DepartmentQuery = from d в schoolContext.Departments.Include ("Курсы") заказпо г. имя select d;
Это некоторые возможности.
HTH.