LINQ分组/子查询填充层次结构数据strcuture

Fun*_*ung 2 linq grouping subquery hierarchy data-structures

我有一个DataTable,可以查询下面的内容

usergroupid...userid......username
1.............1...........John
1.............2...........Lisa
2.............3...........Nathan
3.............4...........Tim
Run Code Online (Sandbox Code Playgroud)

我要做的是写一个LINQ语句,它将返回一个UserGroup实例数组.UserGroup类具有UserGroupId和Users的属性.用户是一组用户实例.然后,User类具有UserId和UserName的属性.

可以使用单个LINQ语句来填充这样的层次结构,它会是什么样子?

太感谢了

Roh*_*est 5

看看这个,希望这有帮助

var users = new[] 
{
    new {UserGroupId = 1, UserId = 1, UserName = "John"},
    new {UserGroupId = 1, UserId = 2, UserName = "Lisa"},
    new {UserGroupId = 2, UserId = 3, UserName = "Nathan"},
    new {UserGroupId = 3, UserId = 4, UserName = "Tim"}
};

var userGroups = from user in users 
                 group user by user.UserGroupId into userGroup 
                 select new {
                                UserGroupId = userGroup.Key, 
                                Users = userGroup.ToList()
                            };

foreach (var group in userGroups)
{
    Console.WriteLine("{0} - {1}",group.UserGroupId, group.Users.Count);
}
Run Code Online (Sandbox Code Playgroud)