使用数字列表检查 lambda 中的字段

checking a field in lambda with a list of number

我有 3 个多对多关系的表

User Table
Id       Username

===================== 1 用户1 2 用户 2

Role Table
Id       Rolename

===================== 1 分钟 2 超级用户 3 操作员 每个用户可以有多个角色

 UserRoles Table

 Id   UserId   RoleId 
====================
 1     1         2
 2     1         1
 3     2         3

我想要拥有角色(例如:1 和 2)的用户列表

  user = _context
    .Users
    .Include(m => m.UserRoles)
    .Where(p => p.Mobile.Equals(Username) && 
                p.IsActive == true && 
                p.UserInRoles.Any(c => c.RoleId == 1 || c.RoleId == 2))
    .ToList();

但我已经手动设置了角色 ID,如果我想将角色 ID 作为列表传递并使用该列表进行检查怎么​​办,例如

 List<long> roleids =new List<long> { 1, 2 };

传递 roleids

我应该如何更改 lambda?

 user = _context
.Users
.Include(m => m.UserRoles)
.Where(p => p.Mobile.Equals(Username) && 
            p.IsActive == true && 
            p.UserInRoles.Any(c => roleids.Contains(c)))
.ToList();