Linq to SQL - grouping by group and account

I am trying to convert this request (already working)

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 

In Linq to SQL, but I don’t know what I am doing wrong. Look at my try

 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 = }; 

I just need to group my Buildings and calculate how many users they have.

+4
source share
1 answer

Just use the Count method:

 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() }; 
+9
source

Source: https://habr.com/ru/post/1492413/


All Articles