упорядоченный вложенный linq - PullRequest
       5

упорядоченный вложенный linq

0 голосов
/ 14 сентября 2011
var query = from m in db.Members.Include("Companies.Projects.Experiences.ExperienceTags")
                    where m.MemberId == id                        
                    select m;

Я бы тоже хотел из этого запроса упорядочить по project.enddate. Как бы я это сделал. Кроме того, enddate может быть нулевым, и тогда я бы хотел, чтобы это было сегодня, когда это будет сделано. Кроме того, у компании не всегда может быть проект, который должен быть заказан и сегодня.

вот изображение диаграммы данных ef ссылка

1 Ответ

0 голосов
/ 14 сентября 2011

Поскольку существует много отношений, вам нужно сделать SelectMany следующим образом:

var query = from m in db.Members.Include("Companies.Projects.Experiences.ExperienceTags")
            where m.MemberId == id
            orderby m.Companies.SelectMany(c => c.Projects).OrderByDescending(p => p.EndDate).FirstOrDefault() == null ? 
              DateTime.Today : 
              m.Companies.SelectMany(c => c.Projects).OrderByDescending(p => p.EndDate).FirstOrDefault()          
            select m;
...