C# LINQ-基于自定义函数返回的计数限制结果
我有以下代码,并希望在LINQ中返回此查询的有限子集。有限子集将u.ID作为函数的参数,并从另一个表中计算与u.ID关联的记录数 到目前为止,这就是我所拥有的C# LINQ-基于自定义函数返回的计数限制结果,c#,linq,C#,Linq,我有以下代码,并希望在LINQ中返回此查询的有限子集。有限子集将u.ID作为函数的参数,并从另一个表中计算与u.ID关联的记录数 到目前为止,这就是我所拥有的 var res = from u in db.Users where id == u.WorkGroupID && jobCount(u.ID) > 0 select new
var res = from u in db.Users
where id == u.WorkGroupID && jobCount(u.ID) > 0
select
new
{
ArtistID = u.ID,
ArtistName = u.FirstName + " " + u.LastName
};
如何修改此查询以根据与每个u.ID关联的计数值限制返回记录的数量
编辑:
下面是新的查询。最后一行向调用者返回最后一个LINQ查询的列表
var res = from u in db.Users
where id == u.WorkGroupID
select
new
{
// SELF
ArtistID = u.ID,
ArtistName = u.FirstName + " " + u.LastName
};
var res2 = res.ToList<dynamic>();
var res3 = from row in res2.AsEnumerable()
where jobCount(row.ArtistID) > 0
select new
{
row.ArtistName,
row.ArtistID
};
return res3.ToList<dynamic>();
var res=from u in db.Users
其中id==u.WorkGroupID
选择
新的
{
//自我
ArtistID=u.ID,
ArtistName=u.FirstName+“”+u.LastName
};
var res2=res.ToList();
var res3=来自res2.AsEnumerable()中的行
其中jobCount(row.ArtistID)>0
选择新的
{
row.ArtistName,
艺术的
};
返回res3.ToList();
使用组连接:
from u in db.Users
join o in db.Other on u.ID equals o.UserID into grp
where grp.Any()
select new
{
ArtistID = u.ID,
ArtistName = u.FirstName + " " + u.LastName
};
谢谢科里的回复。我得到了答案。我尝试了我发布的另一种方法(编辑到我的帖子)。我需要验证这是否正常工作,但到目前为止,我没有看到任何计数为0的值。我对LINQ非常陌生,所以我的想法非常原始,并且使用现有的代码。我会继续调查此事。我将投赞成票。也许我的方法有点不必要。我只是将其编辑为使用
Any()
,而不是Count()>0
。SQL Optimizer可能已经为我修复了它,但理论上它的性能会更好。