我需要建立一个ASP.NET网站上的所有角色列表,分配给给定用户的列表,即角色API允许我获取用户的所有角色和角色。我想要将这些组合起来,以便能够为用户显示角色网格,显示所有角色,并为分配给用户的复选标记添加复选标记。我如何改进以下LINQ to Objects工作?LINQ的用户角色查询
public IEnumerable<UserRoleIndicator> GetRoleIndicators(string userName)
{
// GetRolesForUser and GetAllRoles bith return string[].
var rolesForUser = _roleProvider.GetRolesForUser(userName)
.Select(r => new UserRoleIndicator { RoleName = r, InRole = true });
var rolesNotForUser = _roleProvider.GetAllRoles()
.Where(r => !rolesForUser.Contains(new UserRoleIndicator { RoleName = r, InRole = true }))
.Select(r => new UserRoleIndicator { RoleName = r, InRole = false });
var rolesList = rolesForUser.Union(rolesNotForUser);
return rolesList;
}
嗯,我确实相信这是神话般的加入LINQ,谢谢! – ProfK 2010-11-28 20:57:09