gpt4 book ai didi

c# - LINQ 选择新的 KeyValuePair>

转载 作者:行者123 更新时间:2023-11-30 14:35:43 27 4
gpt4 key购买 nike

我有一个这样的 LINQ 查询:通过 Entity Framework 导航属性链接的两个列表(两个实体具有多对多关系)

我想转换这个:

var query = (from a in listA 
from b in a.ListB
select new {T1=a, T2=b}

像这样:

var query = (from a in listA
from b in a.ListB
select new KeyValuePair<T1,List<T2>>{ T1=a , T2=b})

第一个查询生成一个项目列表,如下所示:{(a,x), (a,y), (a,z), (b,x) ...

第二个查询的目的是将结果合并到具有自己列表的项目中。

结果看起来像这样:

{(a, 包含项目 x,y,z 的列表), (b, 包含项目 x 的列表) ...}

非常感谢您的帮助。谢谢!

最佳答案

编辑:感谢 Stijn 更正我的回答。

看起来 a 已经包含相关 b 项目的列表,所以这行不通吗?

var query = (from a in listA
select new{ T1 = a, T2 = a.ListB });

您还可以将查询转换为字典:

var asDictionary = query.ToDictionary(item => item.T1, item => item.T2);

关于c# - LINQ 选择新的 KeyValuePair<T,List<T2>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11660297/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com