Web API 2实体框架返回具有角色的用户列表

时间:2015-12-22 00:31:51

标签: c# asp.net-web-api entity-framework-6

我正在使用EF / Web API。我是EF的新手。我想从aspnetusers表中获取用户列表以及用户角色。

例如,我想看到的示例JSON。

[
  {
    "UserId": "sample string 1",
    "Enabled": true,
    "Email": "sample string 3",
    "Username": "sample string 4",
    "Roles": [
      {
        "Id": "safdsdafadsf",
        "Name": "Reader"
      },
      {
        "Id": "sdfskjadhf",
        "Name": "Writer"
      }
    ]
  }]

我按照这个帖子的建议 ASP.NET 4.5 WebAPI to return list of users

这适用于获取aspnetuser表信息,但是当我尝试添加角色时,我会在user.Roles上出错 消息“已经有一个与此命令关联的打开DataReader,必须先关闭它。”我正在使用在Visual Studio中构建新的Web API项目时创建的默认用户管理方案。

这是我的代码。

    public IEnumerable<UserListBindingModel> GetUsers()
    {

        List<UserListBindingModel> userList = new List<UserListBindingModel>();
        foreach (ApplicationUser user in UserManager.Users)
        {
            userList.Add(new UserListBindingModel
            {
                UserId = user.Id,
                Enabled = user.enabled,
                Username = user.UserName,
                Email = user.Email,
                Roles = user.Roles

        });
        }
        return userList;
    }

0 个答案:

没有答案