我有这样的LINQ查询: 通过实体框架导航属性链接的两个列表(两个实体都具有多对多关系)
我想转换一下:
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)...}
我很感激帮助。谢谢!
答案 0 :(得分:6)
编辑:感谢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);