Oorderby после группового LINQ C # (без лямбды) - PullRequest
0 голосов
/ 18 мая 2019

В настоящее время я выполняю групповую работу за столом, как показано ниже:

var Query2 =
from b in Books
group b.BookPubid by b.BookPubid into g
select new
{
    PublisherID = g.Key,
    TotalBooks = g.Count()

};

Что я хочу сделать, это orderby PublisherId.Любые предложения, пожалуйста?Я пытался просмотреть сообщения, но не смог найти тот, который использует вышеуказанный формат вместо использования => для перебора всех строк ..

Ты

Ответы [ 2 ]

2 голосов
/ 18 мая 2019

Подумайте о том, что происходит после того, как вы сгруппированы по BookPubid. Теперь у вас есть перечисляемое значение IGrouping<int, Book> с именем g, при условии, что идентификатор издателя равен int. Обратите внимание, как идентификатор издателя становится Key каждого IGrouping. Таким образом, вы должны заказать по g.Key:

var Query2 =
from b in list
group b.BookPubid by b.BookPubid into g
orderby g.Key
select new
{
    PublisherID = g.Key,
    TotalBooks = g.Count()
};
0 голосов
/ 18 мая 2019

Попробуйте это.

var Query2 =
from b in Books
orderby b.BookPubid
group b.BookPubid by b.BookPubid into g
select new
{
   PublisherID = g.Key,
   TotalBooks = g.Count()
};
...