asp.net - Linq to SQL,仅返回特定角色的用户

标签 asp.net linq-to-sql membership

我正在使用 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/

相关文章:

javascript - 如何在 asp.net 按钮的 OnClientClick javascript 中使用 DataBinder.Eval 转发器

c# - Linq to Entities 日期部分优化

c# - 按用户订购,然后选择最大日期

linq-to-sql - 区分大小写的 C# LINQ 问题

php - 权限组无法正常工作

c# - Asp.net:如何在成员(member)数据库中添加额外的用户详细信息?

c# - ASP .NET 获取数据太慢

c# - ExecuteScalar() 的返回值错误

c# - 我应该如何在 ASP.NET MVC 中实现 "Forgot your password"?

C# Pinvoke Delphi ShortString System.AccessViolationException