【问题标题】:Display all users in aspnet identity显示 aspnet 身份中的所有用户
【发布时间】:2015-12-02 12:39:20
【问题描述】:

这是我的 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 属性从字符串自定义为 int。

【问题讨论】:

  • 之前一切都运行良好,但是一旦我尝试了上面的代码,它就开始给我多个对象集错误。奇怪的是我已经删除了上面的代码但仍然是同样的错误。怎么可能

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


【解决方案1】:

我猜你已经把它添加到你的 ApplicationDbContext 中了:

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

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

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

只需删除 ApplicationUsers 即可工作

【讨论】:

  • 错误清楚地表明你 do。它说你有一个名为ApplicationUsers 的对象集。这需要消失。
  • 是的,请尝试搜索此集。
猜你喜欢
  • 1970-01-01
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-03
相关资源
最近更新 更多