【问题标题】:Linq to SQL One to Many query databind to GridviewLinq to SQL 一对多查询数据绑定到 Gridview
【发布时间】:2014-07-09 22:14:46
【问题描述】:

我有一个 LTSQL 查询,它返回 SQL Server DB 中的所有用户和用户角色。 例如,一个用户可以拥有多个用户角色。因此,在返回的查询中,如果您查看单个用户行,它将为每个 userRole 提供 EntitySet(UserRole)

返回所有关系数据的 C# LTSQL 查询很简单

   var results = from u in db.Users
             Select u;

   Gridview.DataSource = results;
   Gridview.Databind;

这将显示用户表中的所有数据,但不显示作为查询结果中的实体的用户角色。

如果我想在单个 gridView 行上显示用户表中的用户信息和所有用户角色,最有效的方法是什么? gridView 应该如下所示:

UserId |  UserName  |  UserRoles         | 
1      | John Smith |  Admin, Accountant | Edit
2      | Dave Jones |  Sales, Admin      | Edit

【问题讨论】:

    标签: c# asp.net linq-to-sql


    【解决方案1】:

    类似这样的:

    var results = from u in db.Users
                 Select new {
                               UserID = u.UsrID,
                               UserName = u.UserName,
                               UserRoles = string.Join(", ", u.UserRoles.Select(r => r.Name))
                            };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多