c# - 填充模型中的角色
问题描述
我在填写用户角色时遇到问题,我找不到解决方案。我有用户角色列表,但我不知道如何将其发送到模型。我的代码:
应用用户
namespace WebApp.Models
{
public class ApplicationUser : IdentityUser
{
public ApplicationUser() : base() { }
public string FirstName { get; set; }
public string LastName { get; set; }
public IEnumerable<ApplicationRole> UserRoles { get; set; }
}
}
应用角色
namespace WebApp.Models
{
public class ApplicationRole : IdentityRole
{
public ApplicationRole() : base() { }
public ApplicationRole(string roleName) : base(roleName) { }
public ApplicationRole(string roleName, string description, DateTime creationDate) : base(roleName)
{
this.Description = description;
this.CreationDate = creationDate;
}
public string Description { get; set; }
public DateTime CreationDate { get; set; }
}
}
管理员控制器
public async Task<IActionResult> UserList(ApplicationUser ApplicationUser)
{
var users = await _userManager.Users.ToListAsync();
foreach (var v in users)
{
var userId = await _userManager.GetUserIdAsync(v);
var user = _context.Users.Where(u => u.Id == userId).FirstOrDefault();
user.UserRoles = _userManager.GetRolesAsync(v);
_context.SaveChanges();
}
var usersList = _context.Users.ToList();
return await Task.Run(() => View(usersList));
}
user.UserRoles = _userManager.GetRolesAsync(v);
导致错误
严重性代码描述项目文件行抑制状态错误 CS0266 无法将类型“System.Threading.Tasks.Task>”隐式转换为“System.Collections.Generic.IEnumerable”。存在显式转换(您是否缺少演员表?)
// 由于缺少异步而导致的 EDIT 错误,但现在错误是
严重性代码描述项目文件行抑制状态错误 CS0266 无法将类型“System.Collections.Generic.IList”隐式转换为“System.Collections.Generic.IEnumerable”。存在显式转换(您是否缺少演员表?)WebApp
如何转换数据以填充 UserRoles?
解决方案
推荐阅读
- python - 在 Pandas 中将 Series 传递给 pd.PeriodIndex 会导致 TypeError: Incorrect dtype
- node.js - 使用nodejs从文件中检索属性?
- go - 由 grpc proto3 生成的 protobuff 中的蛇形案例样式
- python - OpenCV 函数在 Python 和 C++ 中不起作用
- c - 读取多个设备文件
- java - 将android真实设备连接到应用程序以执行GET请求
:8000 使用改造 - c# - Xamarin Android 列表中的 XML 反序列化错误
标有 [XmlAttribute] - sql - 有没有办法在 FROM 子句中使用多个源表而不在 SQL Server 中使用 JOIN?
- azure - 在发布管道中替换 ConnectionString 变量的正确格式是什么?
- python - Python中的JSON提取