C# Linq to SQL一对多查询数据绑定到Gridview
我有一个LTSQL查询,它从SQLServerDB返回所有用户和用户角色。 例如,一个用户可以有多个用户角色。因此,在返回的查询中,如果查看单个用户行,则每个用户角色都有EntitySet(UserRole) 返回所有关系数据的C#LTSQL查询非常简单C# Linq to SQL一对多查询数据绑定到Gridview,c#,asp.net,linq-to-sql,C#,Asp.net,Linq To Sql,我有一个LTSQL查询,它从SQLServerDB返回所有用户和用户角色。 例如,一个用户可以有多个用户角色。因此,在返回的查询中,如果查看单个用户行,则每个用户角色都有EntitySet(UserRole) 返回所有关系数据的C#LTSQL查询非常简单 var results = from u in db.Users Select u; Gridview.DataSource = results; Gridview.Databind; 这将显示用
var results = from u in db.Users
Select u;
Gridview.DataSource = results;
Gridview.Databind;
这将显示用户表中的所有数据,但不显示userroles,userroles是查询结果中的一个实体
如果我想在单个gridView行上显示users表中的用户信息和所有userroles,那么最有效的方法是什么?
gridView应该如下所示:
UserId | UserName | UserRoles |
1 | John Smith | Admin, Accountant | Edit
2 | Dave Jones | Sales, Admin | Edit
var results = from u in db.Users
Select new {
UserID = u.UsrID,
UserName = u.UserName,
UserRoles = string.Join(", ", u.UserRoles.Select(r => r.Name))
};
大概是这样的:
UserId | UserName | UserRoles |
1 | John Smith | Admin, Accountant | Edit
2 | Dave Jones | Sales, Admin | Edit
var results = from u in db.Users
Select new {
UserID = u.UsrID,
UserName = u.UserName,
UserRoles = string.Join(", ", u.UserRoles.Select(r => r.Name))
};