我有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的记录。
慕田峪7331174
相关分类