我正在使用 linq to SQL 以及 asp.net 成员(member)资格提供程序。我设置了三个角色,但只想获取特定角色的用户。这是我返回所有用户的查询
public IQueryable<aspnet_User> GetAllMembers()
{
return db.aspnet_Users.OrderByDescending(u => u.UserName);
}
有人能指出我正确的方向吗?
谢谢
最佳答案
看来您需要与讨论的相同的东西here 。 Tvanfosson 未经测试的答案获得最多支持:
var users = db.aspnet_Users
.Where(u => u.Active)
.Any(u => u.aspnet_UsersInRoles
.Any(r => r.aspnet_Roles.RoleName == "Auth Level 1" ));
根据提出问题的人(约翰)的说法,这对他来说不太有效,所以他最终这样做了:
var AuthUsers = from aspnet_User in db.aspnet_Users
join userinroles in db.aspnet_UsersInRoles on aspnet_User.UserId equals userinroles.UserId
where aspnet_User.Active
&& userinroles.aspnet_Role.RoleName == "Auth Level 1"
select aspnet_User;
希望这两者之一能够发挥作用(请告诉我们哪一个适合您)。
关于asp.net - Linq to SQL,仅返回特定角色的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1979359/