Linq to SQL - Group By和Count

Gan*_*rez 4 c# sql linq linq-to-sql c#-4.0

我正在尝试转换此查询(已经工作)

SELECT Building.NAME, COUNT([User].ID)
FROM BuildingUser
INNER JOIN Building ON Building.ID = BuildingUser.ID_BUILDING
INNER JOIN [User] ON [User].ID = BuildingUser.ID_USER
GROUP BY Building.NAME
Run Code Online (Sandbox Code Playgroud)

要Linq to SQL,但我不知道我做错了什么.看看我的尝试

from buildinguser in db.GetTable<BuildingUser>()
join building in db.GetTable<Building>()
on buildinguser.ID_BUILDING equals building.ID
join user in db.GetTable<User>()
on buildinguser.ID_USER equals user.ID
group building by building.NAME into grpBuilding
select new
{
    building = grpBuilding.Key,
    users = 
};
Run Code Online (Sandbox Code Playgroud)

我只需要对我的建筑物进行分组,并计算每个建筑物的用户数量.

p.s*_*w.g 9

只需使用该Count方法:

from buildinguser in db.GetTable<BuildingUser>()
join building in db.GetTable<Building>()
on buildinguser.ID_BUILDING equals building.ID
join user in db.GetTable<User>()
on buildinguser.ID_USER equals user.ID
group building by building.NAME into grpBuilding
select new
{
    building = grpBuilding.Key,
    users = grpBuilding.Count()
};
Run Code Online (Sandbox Code Playgroud)

  • 这是对的.您指望该特定列的事实是任意的.你没有使用distinct或者任何东西,所以这只是选择一个列并根据分组计算它. (2认同)