这是我的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。
答案 0 :(得分:0)
我猜您已将此添加到ApplicationDbContext:
public DbSet<ApplicationUser> ApplicationUsers { get; set; }
通过继承你已经在IdentityDbContext中拥有它:
public IDbSet<ApplicationUser> Users { get; set; }
只需删除ApplicationUsers即可使用