如何将角色 ID 添加到模型
How To Add Role Id to Models
我已经获得了用户的角色 ID,我想更新另一个包含角色 ID 列的模型,但它总是说无法将通用列表转换为字符串,我将获得的角色 ID 转换为字符串,但没有获取值,我想将其添加到模型中。
这是我目前所拥有的
var role = await _userManager.GetRolesAsync(user);
var roleIds = _roleManager.Roles
.Where(r => role.AsEnumerable().Contains(r.Name))
.Select(r => r.Id)
.ToList();
这是异常代码。当我更改为未获得任何值的 ToString 时
var roleIds = _roleManager.Roles
.Where(r => role.AsEnumerable().Contains(r.Name))
.Select(r => r.Id)
.ToString();
userEmployee.Stations.Add(new Models.AppModel.StaffStation { RoleId = roleIds })
而且我只想更新甚至不创建新的。我是 .net 新手
继续 Fabio 的回答,你可以在添加到你的模型之前检查用户是否在角色中,如下所示
//Get All User Roles
var userRoles = roleManager.Roles.Where(r => role.AsEnumerable().Contains(r.Name));
//Loop on All User Roles
foreach (var userRole in userRoles)
{
//Check if User not in role so we will add it
if(!await userManager.IsInRoleAsync(user, userRole.Name))
{
var station = new Models.AppModel.StaffStation { RoleId = userRole.Id };
userEmployee.Stations.Add(station);
}
else
{
//here you can check if you don't need this role for this user anymore so delete it
//or keep it as is
}
}
我已经获得了用户的角色 ID,我想更新另一个包含角色 ID 列的模型,但它总是说无法将通用列表转换为字符串,我将获得的角色 ID 转换为字符串,但没有获取值,我想将其添加到模型中。
这是我目前所拥有的
var role = await _userManager.GetRolesAsync(user);
var roleIds = _roleManager.Roles
.Where(r => role.AsEnumerable().Contains(r.Name))
.Select(r => r.Id)
.ToList();
这是异常代码。当我更改为未获得任何值的 ToString 时
var roleIds = _roleManager.Roles
.Where(r => role.AsEnumerable().Contains(r.Name))
.Select(r => r.Id)
.ToString();
userEmployee.Stations.Add(new Models.AppModel.StaffStation { RoleId = roleIds })
而且我只想更新甚至不创建新的。我是 .net 新手
继续 Fabio 的回答,你可以在添加到你的模型之前检查用户是否在角色中,如下所示
//Get All User Roles
var userRoles = roleManager.Roles.Where(r => role.AsEnumerable().Contains(r.Name));
//Loop on All User Roles
foreach (var userRole in userRoles)
{
//Check if User not in role so we will add it
if(!await userManager.IsInRoleAsync(user, userRole.Name))
{
var station = new Models.AppModel.StaffStation { RoleId = userRole.Id };
userEmployee.Stations.Add(station);
}
else
{
//here you can check if you don't need this role for this user anymore so delete it
//or keep it as is
}
}