我有这个原始SQL需要在LINQ中重写:
SELECT
luProfiles.luProfileID,
luProfiles.ProfileName,
NoOfRights = (SELECT Count(pkProfileRightsID) FROM tblProfileRights WHERE fkProfileID = luProfileID)
FROM luProfiles
WHERE luProfiles.ProfileName LIKE ...
我已经在LINQ中完成了大部分操作,但是我不确定如何将NoOfRights部分添加到LINQ中。到目前为止,这是我所做的:
return from p in _database.LuProfiles
where p.ProfileName.ToLower().StartsWith(strProfile.ToLower())
select p;
有人可以告诉我在我的LINQ中包含NoOfRights部分的正确语法吗?
最佳答案
from p in _database.LuProfiles
let NoOfRights = (from r in database.tblProfileRights
where r.fkProfileID == p.luProfileID
select r).Count()
where p.ProfileName.ToLower().StartsWith(strProfile.ToLower())
select new
{
p.luProfileID,
p.ProfileName,
NoOfRights
};
关于c# - LINQ语法问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5743679/