以aspnet身份显示所有用户

时间:2015-12-02 12:39:21

标签: asp.net-mvc-5 asp.net-identity

这是我的applicationDbContext类:

   public class ApplicationDbContext : IdentityDbContext<ApplicationUser, CustomRole,
int, CustomUserLogin, CustomUserRole, CustomUserClaim>

这是我的控制器操作方法,用他们的用户名检索所有用户:

   public JsonResult GetUsers()
    {
        var ret = (from user in db.Users
                   orderby user.Id
                   select new
                   {
                       UserName = user.UserName,
                   }).AsEnumerable();
        return Json(ret, JsonRequestBehavior.AllowGet);
    }

现在,我遇到了一个问题。无论何时我执行,我都遇到了这个问题---- 不支持每种类型的多个对象集。对象集'ApplicationUsers'和'Users'都可以包含'App.Models.ApplicationUser'类型的实例。

我已经看到了这样的问题How to obtain a list of Users from ASP.NET Identity?。解决这个错误最简单的方法是什么。我应该按照上面问题给出的解决方案。我已经将我的用户id属性从string定制为int。

1 个答案:

答案 0 :(得分:0)

我猜您已将此添加到ApplicationDbContext:

public DbSet<ApplicationUser> ApplicationUsers { get; set; } 

通过继承你已经在IdentityDbContext中拥有它:

public IDbSet<ApplicationUser> Users { get; set; }

只需删除ApplicationUsers即可使用