需要帮助找出带有EF的LINQ查询

时间:2012-03-21 18:16:25

标签: c# linq entity-framework-4 linq-to-entities

我有一堆我希望以类似维基的方式列出的实体,它们将按照标题的第一个字母进行组织,然后计算每个字母存在多少个实体。所以,像:

A(5)
B(7)
C(4)

但是,我不知道该怎么做。粗糙的伪代码版本:

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

注释掉的部分是我被卡住的地方。有什么想法吗?

3 个答案:

答案 0 :(得分:5)

from game in games
group game by game.Title.Substring(0,1) into g
select new {
    Key = g.Key,
    Count = g.Count()
};

免费递交,因此可能存在编译器错误,但我相信应该是linq查询以获得您想要的内容。

答案 1 :(得分:1)

context.Games
       .GroupBy(g => g.title.FirstOrDefault())
       .Select(g => new {g.Key, Count = g.Count()})

答案 2 :(得分:1)

var query = from g in Games
            group g by g.title[0] into cg
            select new { FirstLetter = cg.Key, Count = cg.Count() };