2015-12-02 20 views
0

这是我applicationDbContext类:显示在ASPNET标识的所有用户

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。

+0

一切之前运行良好,但一旦我尝试上述代码,它开始给我多个对象设置错误。奇怪的是,我已经删除了上面的代码,但仍然是相同的错误。有没有可能 – duke

回答

0

我想你已经加入这个您ApplicationDbContext:

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

而通过继承你已经拥有它的IdentityDbContext:

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

只要简单地除去ApplicationUsers,也将努力

+0

不,我没有在那里添加它 – duke

+0

错误清楚地表明你*做*。它说你有一个名为'ApplicationUsers'的对象集。这需要消失。 –

+0

是的尝试搜索这个集合。 –