Нужна помощь в выяснении запроса LINQ с EF - PullRequest
0 голосов
/ 21 марта 2012

У меня есть куча сущностей, которые я хотел бы перечислить в вики-подобии, где они будут организованы по первой букве их заголовка, после чего будет подсчитано, сколько сущностей существует на одну букву.Итак, что-то вроде:

A (5)
B (7)
C (4)
и т. Д.

Я не уверен, как это сделать, хоть.Грубая версия псевдокода:

from g in Games select g.title, /* count */
    where /* g.title.firstLetter */ ASC

Закомментированные части - вот где я застрял.Есть идеи?

Ответы [ 3 ]

5 голосов
/ 21 марта 2012
from game in games
group game by game.Title.Substring(0,1) into g
select new {
    Key = g.Key,
    Count = g.Count()
};

Произвольно, так что могут быть ошибки компилятора, но я считаю, что это должен быть запрос linq, чтобы получить то, что вы хотите.

1 голос
/ 21 марта 2012
var query = from g in Games
            group g by g.title[0] into cg
            select new { FirstLetter = cg.Key, Count = cg.Count() };
1 голос
/ 21 марта 2012
context.Games
       .GroupBy(g => g.title.FirstOrDefault())
       .Select(g => new {g.Key, Count = g.Count()})
...