具有关系的LINQ到SQL计数表
本文关键字:SQL 有关系 LINQ | 更新日期: 2023-09-27 17:59:38
C#或VB.NET都可以。
我想用LINQ到SQL 从下表中统计每个国家的人数
我有两张桌子,一张是国家,另一张是人民。这是从国家到人民的一对多关系。
Countries table column:CountryId,CountryName
People:PeopleId,FullName,CountryId (a primary key from Country table and allowed null)
我想统计一下每个国家有多少人,得到下面这样的结果,只显示有人的国家。因为有些国家的人民名单上没有人。
- 美国:10
- 中国:20
- 俄罗斯:15
等等。
谢谢。
(from c in Countries
select new { c.CountryName, Count = c.People.Count()}).Where(r => r.Count > 0)
或
from c in Countries.Where(r => r.People.Any())
select new { c.CountryName, Count = c.People.Count()}
这有点棘手。。您必须使用LINQ使用关系,请尝试使用此查询
var count = from pl in dc.People join ci in dc.Countries on pl.CountryId equals ci.CountryId groupby ci.CountryId select PeopleId.count();
编写LINQ查询还有很多其他方法,但这是最简单的方法。。有关LINQ to SQL的更多信息,您可以查看我的博客:LinqtoSQL