【发布时间】:2016-03-15 10:02:59
【问题描述】:
我需要获取一个由连接等查询创建的对象列表,并生成一对多的对象层次结构。我将如何使用 Linq 做到这一点?
class Source
{
int Id,
string Name,
....
int MemberId,
string MemberName,
....
}
class Target
{
int Id,
string Name,
....
ICollection<Member> Members
}
class Member
{
int Id,
string Name,
....
}
示例数据
List =
{
new Source {Id = 1, Name = "Test1", ... MemberId = 1, MemberName = "John", ...},
new Source {Id = 2, Name = "Test2", ... MemberId = 2, MemberName = "Max", ...},
new Source {Id = 2, Name = "Test2", ... MemberId = 4, MemberName = "Ruby", ...}
}
期望的结果
List =
{
new Target {Id = 1, Name = "Test1", ...
Members = new List { new Member {Id = 1, Name = "John", ...}}
},
new Target {Id = 2, Name = "Test2", ...
Members = new List { new Member {Id = 2, Name = "Max", ...},
new Member {Id = 4, Name = "Ruby", ...}}
}
}
【问题讨论】: