使用数字列表检查 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();
我有 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();