4
我想這個查詢轉換(已工作)LINQ到SQL - GROUP BY和計數
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
要LINQ到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 =
};
我只需要對我的建築物進行分組並統計每個人有多少用戶。
這是正確的。您指向特定列的事實是任意的。你沒有使用獨特的或任何東西,所以這只是選擇一個專欄,並根據分組進行計數。 –
任何想法是否將計數偏移到數據庫引擎,還是在代碼中完成計數? – Luke
@Luke假設'from' /'join'節中的每個集合都是'IQueryable <>',這將轉換爲SQL中的COUNT()/ GROUP BY'。如果你有一個'IEnumerable <>',它可能會在內存中發生。 –