LINQ与group by左连接并正确计数

Xeddon

存在,还有其他方法可以计算这一点吗?

IList<DtoProfile> profileList = Session().QueryOver<DtoProfile>()
IList<Headword> methodList = Session().QueryOver<Headword>()
var hList = profileList.Select(x => x.HeadwordList).SelectMany(x => x).ToList();

profileList包含一个HeadwordList。现在hList包含类似

标题1:ID = 1,文本=文本1(来自配置文件1)
标题2:ID = 2,文本=文本2(来自配置文件1)
标题1 :ID = 1,文本=文本1(来自配置文件2)

methodList包含

标题1:ID = 1,文本= Text1
标题2:ID = 2,文本= Text2
标题2:ID = 3,文本= Text3

我想做一个字典像

键:Text1,值:2
键:Text2,值:1
键:Text3,值:0

var joined = (from headword in methodList
   join profile in hList on headword equals profile
   group headword by headword.Text
   into groupedProfile
   select groupedProfile).ToDictionary(x => x.Key, x => x.Count());

它行不通!我刚

键:Text1,值:2在我的词典中
,键:Text2,值:1
现在我改进为左连接:

var joined = (from headword in methodList
   join profile in hList on headword equals profile into ps
   from profile in ps.DefaultIfEmpty()
   group headword by headword.Text
   into groupedProfile
   select groupedProfile).ToDictionary(x => x.Key, x => x.Count(y => y != null));

但是y => y!= null不能正常工作!我得到:

键:Text1,值:2
键:Text2,值:1
键:Text3,值:1(错误,应为0)

圣地亚哥·埃尔南德斯

我不确定我是否理解您的问题,但也许...

var joined = methodList
    .ToDictionary(item => item.Text, item => hList.Count(h => h.Text == item.Text))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL嵌套左连接与计数

来自分类Dev

Linq Group by,将子实体连接并加载到列表中

来自分类Dev

Linq to Entities左连接返回0条记录

来自分类Dev

LINQ右连接和左连接

来自分类Dev

使用LINQ将2个表与主表左连接

来自分类Dev

LINQ to Sql左外部与Group By并具有子句的联接

来自分类Dev

LINQ左连接在最后以空的右项目排序

来自分类Dev

LInq在on子句中具有多个条件的左连接

来自分类Dev

在MySQL上的左连接+计数+总和

来自分类Dev

LINQ-3个ObservableCollections的左连接

来自分类Dev

Linq Count左外连接

来自分类Dev

第二张表的左连接计数(*)

来自分类Dev

使用LINQ进行分组,连接和计数

来自分类Dev

MySQL嵌套左连接与计数

来自分类Dev

MySQL双左外连接与计数

来自分类Dev

Linq Group by,将子实体连接并加载到列表中

来自分类Dev

使用Linq左连接多个IList <>

来自分类Dev

LINQ Group通过多列和计数

来自分类Dev

LINQ左加入,分组和计数

来自分类Dev

LINQ与group by左连接并正确计数

来自分类Dev

Linq 使用左连接如何使用 order by 和 group by?

来自分类Dev

LINQ 查询以获取连接记录的计数

来自分类Dev

使用 GROUP BY LINQ 获取每列的具体计数

来自分类Dev

LINQ 查询左连接多个列,空检查失败

来自分类Dev

从多个左连接中获取计数的正确方法

来自分类Dev

SQL Server 左连接计数

来自分类Dev

Linq to Sql 与左连接不同,Lambda

来自分类Dev

带有左连接和组的 SQL 到 LINQ

来自分类Dev

使用左连接计数