从 User 表中获取嵌套的 UserRoles
Posted
技术标签:
【中文标题】从 User 表中获取嵌套的 UserRoles【英文标题】:Get nested UserRoles from User table 【发布时间】:2022-01-07 13:54:41 【问题描述】:我正在从数据库中查询并且有嵌套表。我的查询如下所示:
System.Collections.Generic.IEnumerable<ApplicationUser> applicationUsers = await _userManager.Users
.Include(u => u.UserRoles).ToListAsync();
我想获取所有 UserRole ID 和角色名称,所以我这样做了:
IEnumerable<List<UserRole>> userRoles = applicationUsers.Select(person => person.UserRoles.Select(u => new UserRole
Id = u.RoleId,
RoleName = u.Role.ToString(),
).ToList());
但是,当我需要List<UserRole>
时,我得到IEnumerable<List<UserRole>>
的输出。我做错了什么?
UserRole.cs:
public class UserRole
public string Id get; set;
public string RoleName get; set;
public bool Successful get; set;
【问题讨论】:
尝试用 SelectMany 替换第一个选择。 【参考方案1】:使用
List<UserRole> userRoles = applicationUsers.SelectMany(person => person.UserRoles).ToList();
【讨论】:
以上是关于从 User 表中获取嵌套的 UserRoles的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 从两个不同的表中获取 user_id 和密码的查询