我可以使用什么 Linq 查询来按类别返回所有产品的计数?

2024-05-02

给定以下表结构,如何使用 Linq 查询返回类别名称列表以及该类别中的产品总数?

Category
---------
ID
Name

Product
---------
ID 
IDCategory
Name

我理想的回报是:

Clothes 156
Electronics 2149
Utensils 412

Etc.

编辑: 感谢您的帮助建议,我现在有这个:

class Program
{
    static void Main(string[] args)
    {
        MyDatabaseEntities entities = new MyDatabaseEntities();

        var result = from c in entities.Categories
                        join p in entities.Products on c.ID equals p.IDCategory
                        group p by c.Name into g
                        select new
                        {
                            Name = g.Key,
                            Count = g.Count()
                        };

        Console.WriteLine(result.ToString());
        Console.ReadLine();
    }
}

我该如何准确输出结果中的内容?在调试过程中,我可以查看变量值,它有我需要的内容,我只是不知道如何显示它。


from c in Category
join p in Product on c.ID equals p.IDCategory
group p by c.Name into g
select new
{
    Name = g.Key,
    Count = g.Count()
}

这适用于任何风格的 LINQ,并按名称分组,而不是按类别 ID 分组。

如果您使用 LINQ to Entities,这可能会更快,并且根据 ID 而不是名称进行分组:

from p in Product
group p by p.Category into g
select new
{
    Name = g.Key.Name,
    Count = g.Count()
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以使用什么 Linq 查询来按类别返回所有产品的计数? 的相关文章

随机推荐