我有这样的DTO
public class Obj1
{
public string a1 { get; set; };
public Obj2[] a2 { get; set; };
}
public class Obj2
{
public string b1 { get; set; };
public Obj3[] b2 { get; set; };
}
public class Obj3
{
public string Key { get; set; };
}
这样,物体就会像
Obj1 o = new Obj1
{
a1="a";
a2=new[]
{
new Obj2
{
b1="b";
b2=new[]
{
new Obj3
{
Key="c";
}
}
}
}
}
我有Obj1。我如何将它分组为类型字典的形式
IDictionary<string, IEnumerable<Obj2>>
其中Key位于Obj3中。
我尝试使用GroupBy,但没有得到相关结果。
2条答案
按热度按时间lb3vh1jj1#
如果我理解最终目标--通过所有子
Obj3.Key
合并所有Obj2
,并且在修复代码使其编译后,您可以使用SelectMany
到中间数据结构中,并与GroupBy
聚合:bhmjp9jg2#
我不是很确定,但是你的类“obj2”不是有两个属性,你可以用Dictionary的一个属性,一个字符串键和Ienumerable值,这样你的变量看起来就像这样。Dictionary〈string,Dictionary〈string,Ienumerable〉〉,你可以添加“obj3”作为一个值或键。