LINQ to Entity Framwork: вернуть отсортированный список связанных строк - PullRequest
1 голос
/ 01 августа 2009

Таблица категории (c) имеет отношение 1: много к вопросу таблицы: у категории может быть много вопросов, но вопрос принадлежит только одной категории. Вопросы также ранжируются с точки зрения сложности.

Я бы хотел запрос LINQ to EF, который бы возвращал все категории со связанными вопросами, но вопросы должны быть отсортированы по возрастанию по сложности (скажем, в столбце Question.Rank).

В моем запросе пока нет отсортированных вопросов:

var results = from c in context.Category.Include("Question") select c; 

Как нужно добавить, чтобы отсортировать вопросы?

1 Ответ

1 голос
/ 01 августа 2009

Стандартный способ заказа записей - использование оператора orderby. См:

http://srtsolutions.com/blogs/billwagner/archive/2006/03/29/ordering-linq-results.aspx

Ваша проблема немного отличается, так как вы пытаетесь заказать подсписок.

Если вы используете ордер вместе с Loadwith, он должен работать:

http://social.msdn.microsoft.com/Forums/en-US/linqprojectgeneral/thread/ec54792f-1ffb-45c3-9525-797c96023de9

http://social.msdn.microsoft.com/forums/en-US/linqtosql/thread/adbd8e6a-2679-4d03-98fe-c4ed7726f95d/

Если повезет, код должен выглядеть примерно так:

var results = from c in context.Category 
 select new { Category = c, Question = c.Question.OrderBy(o => o.Rank) };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...