我正在尝试在 linq 中编写此查询
SELECT dbo.Tbl_Users.ID, COUNT(dbo.Tbl_Inputs.ID) AS Inputs
FROM dbo.Tbl_Users LEFT JOIN
dbo.Tbl_Inputs ON dbo.Tbl_Inputs.User_ID = dbo.Tbl_Users.ID
GROUP BY dbo.Tbl_Users.ID
这是我的 linq 代码,我创建了一个类 User(),它保存了用户 ID 和用户在 Tbl_Inputs 中所做的输入计数:
List<User> GetAllUsers()
{
List<User> userlist = new List<User>();
userlist = (from u in Data.Tbl_Users
join i in Data.Tbl_Inputs on u.ID equals i.User_ID
into Joined
from p in Joined.DefaultIfEmpty()
group p by new { u.ID }
into grp select new User()
{
Id = grp.Key.ID,
Inputs = grp.Count()
}).ToList();
return userlist;
}
问题是如果输入为 0,则返回 1。
想不通。
谢谢