我有3个表:User,Roles和UserRoles,并且有一个角色ID列表{ 2, 3, 4 }。我想返回ID为2、3或4的所有用户。楷模:public partial class User{ public int Id { get; set; } public virtual ICollection<UserRoles> UserRoles { get; set; }}public partial class Roles{ public int Id { get; set; }}public partial class UserRoles{ public int UserId { get; set; } public int RoleId { get; set; } public virtual Users Users { get; set; } public virtual Roles Roles { get; set; }}和我有的代码:int[] RoleIds = { 2, 3, 4 };return await _dbContext.Users .Where(u => u.UserRoles.Any(x=> RoleIds.Contains(x.RoleId)));我不知道为什么,但是我的结果包含具有roleId == 1的记录。
3 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
尝试倒退,看看是否有帮助...
return await _dbContext.UserRoles
.Where(r => RoleIds.Contains(r.RoleId))
.Select(r => r.Users)
- 3 回答
- 0 关注
- 157 浏览
添加回答
举报
0/150
提交
取消