我的存储过程返回以下数据:
PersonId PersonName RootId RootName
1 A 1 X
1 A 2 Y
人可以拥有多个RootId
。我想在PersonId
Class Data {
int PersonId;
string personname;
List<Root> Roots
}
Class Root {
int RootId;
string RootName;
}
我想将存储过程输出转换为List<Data>()
答案 0 :(得分:3)
您可以尝试以下内容:
var data = sprocResults
.GroupBy(p => p.PersonId)
.Select(g => new Data
{
PersonId = g.Key,
personname = g.First().PersonName,
Roots = g.Select(r => new Root
{
RootId = r.RootId,
RootName = r.RootName
}).ToList()
})
.ToList();