猿问

返回列表中所有具有角色ID的用户

我有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的记录。


料青山看我应如是
浏览 158回答 3
3回答

慕田峪7331174

尝试倒退,看看是否有帮助...return await _dbContext.UserRoles&nbsp; &nbsp; &nbsp;.Where(r => RoleIds.Contains(r.RoleId))&nbsp; &nbsp; &nbsp;.Select(r => r.Users)
随时随地看视频慕课网APP
我要回答