【问题标题】:LINQ grouping/subquery to fill a hierarchy data strcutureLINQ 分组/子查询以填充层次结构数据结构
【发布时间】:2008-11-26 02:56:44
【问题描述】:

我有一个 DataTable 可以查询如下内容

usergroupid...userid......username
1.............1...........John
1.............2...........Lisa
2.............3...........Nathan
3.............4...........Tim

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

可以用一条 LINQ 语句填充这样的层次结构吗?它会是什么样子?

谢谢一百万

【问题讨论】:

    标签: linq data-structures grouping hierarchy subquery


    【解决方案1】:

    看看这个,希望对你有帮助

    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);
    }
    

    【讨论】:

    • @rahan 打败了我..dam you ;)
    【解决方案2】:

    有 - 查看 GroupBy 和 Select 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 2015-12-10
      • 2015-12-16
      • 1970-01-01
      相关资源
      最近更新 更多