2012-01-16 3 views
1

я следующее:Linq группы по и порядка несколькими условиями

myFilteredContractors = (From c In myFilteredContractors 
    Join cc In myConClasses On c.ContractorId Equals cc.ContractorId 
    Where inClassifications.Contains(cc.ClassificationId) 
    Group c By Key = cc.ContractorId Into Group, Count = Count() 
    Order By Count Descending 
    Select (From c1 In myContractors Where c1.ContractorId = Key).FirstOrDefault).ToList 

Это правильно приказывать этот список подрядчиков по количеству классификаций, которые они имеют.

Я также хочу заказать их с помощью набора полей (CompanyOverview), который, если пустая строка должна быть ниже тех подрядчиков, которые установили CompanyOverview. Кроме того, после заказа CompanyOverview я хочу заказать по дате регистрации.

Так он должен приказать:

  1. Количество классификациям
  2. ли Обзор был установлен (c.CompanyOverview)
  3. Дата регистрации (c.AppliedDate)

Можно ли все это в LINQ?

+0

Возможный дубликат [Как заказать по нескольким столбцам с использованием лямбда-выражений VB.Net] (http://stackoverflow.com/questions/1743661/how-to-order-by-multiple-columns-using-vb-net -lambda-выражения) –

ответ

0

Да, просто добавьте один заказ пунктом за другим: заказ по X, Y порядке, ...

Если вы представляете проверки лямбда OrderBy() и ThenBy() функции.

+0

Я попытался добавить второй порядок, и я получаю, что c не объявлен или в текущей области. Любая идея, почему у меня нет доступа к c в порядке по контексту? – Steffan

Смежные вопросы