【问题标题】:Get a list of users and their roles获取用户及其角色列表
【发布时间】:2023-04-04 17:17:01
【问题描述】:

我正在使用会员提供程序 asp.net mvc 4。 我想为每个用户获取一个不包含Roles.GetRolesForUser() 的用户及其角色的列表。

在我的应用程序中,业务需求规定用户只会被分配一个角色。

我目前在做什么:

    [GridAction]
    public ActionResult _GetUsers()
    {
        var users = Membership.GetAllUsers().Cast<MembershipUser>().Select(n => new AdminAccountEditModel
        {
            Role = Roles.GetRolesForUser(n.UserName).FirstOrDefault(),
            IsApproved = n.IsApproved,
            Email = n.Email,
            UserName = n.UserName
        }).ToList();

        return View(new GridModel(users));
    }

非常低效。我该如何解决这个问题?

谢谢。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-membership


    【解决方案1】:

    过去我在使用标准会员提供程序时有些作弊,并直接针对 sql 中的表编写了许多复杂的查询。您正在寻找的是一个简单的联接。

    【讨论】:

      【解决方案2】:

      我刚刚使用 EF 和 linq 来获得结果。

          [GridAction]
          public ActionResult _GetUsers()
          {
      
              var users = from user in xcsnEntities.Users
                          select new
                          {
                              Role = user.Roles.FirstOrDefault().RoleName,
                              IsApproved = user.Membership.IsApproved,
                              Email = user.Membership.Email,
                              UserName = user.UserName
                          };
      
              return View(new GridModel(users));
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-26
        • 2016-04-28
        • 2017-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-01
        相关资源
        最近更新 更多