System.NotSupportedException:“存储未实现IQueryableUserStore <tuser>。”:获取用户列表(自定义身份:JSON文件)

时间:2019-03-31 07:11:45

标签: c# model-view-controller

我正在尝试从自定义数据库(JSON文件)中检索用户列表

This is the project that I've used to implemented the work project

现在,我尝试遵循this post

但是我在控制器中仍然出现错误:

    //
    // GET: /Account/Users
    [Authorize(Roles = "Administrators")]
    public ActionResult Users()
    {
        var List = UserManager.Users.Select(s => new { ID = s.Id, Name = s.UserName }).ToList();

        return View(List);
    }

这是我对UserStore的实现

public class UserStore : 
    IUserStore<User, int>, 
    IUserPasswordStore<User, int>, 
    IUserLockoutStore<User, int>, 
    IUserTwoFactorStore<User, int>,
    IUserRoleStore<User, int>,
    IUserClaimStore<User, int>,
    IUserLoginStore<User, int>

我尝试实现IQueryableUserStore的接口并实现关联的方法,但是该类抛出3个编译错误

  

严重性代码描述项目文件行抑制状态   错误CS0311类型'EjadahDashboard.Custom.Identity.User'不能用作通用类型或方法'IQueryableUserStore'中的类型参数'TUser'。没有从“ EjadahDashboard.Custom.Identity.User”到“ Microsoft.AspNet.Identity.IUser”的隐式引用转换。 EjadahDashboard.Custom.Identity C:\ Users \ nbinobied \ Desktop \ Raqeb \ EjadahDashbord \ Custom.Auth \ UserStore.cs 13有效

     

严重性代码描述项目文件行抑制状态   错误CS0311类型'EjadahDashboard.Custom.Identity.User'不能用作通用类型或方法'IUserStore'中的类型参数'TUser'。没有从“ EjadahDashboard.Custom.Identity.User”到“ Microsoft.AspNet.Identity.IUser”的隐式引用转换。 EjadahDashboard.Custom.Identity C:\ Users \ nbinobied \ Desktop \ Raqeb \ EjadahDashbord \ Custom.Auth \ UserStore.cs 13有效

     

严重性代码描述项目文件行抑制状态   错误CS0311类型'EjadahDashboard.Custom.Identity.User'不能用作通用类型或方法'IQueryableUserStore'中的类型参数'TUser'。没有从“ EjadahDashboard.Custom.Identity.User”到“ Microsoft.AspNet.Identity.IUser”的隐式引用转换。 EjadahDashboard.Custom.Identity C:\ Users \ nbinobied \ Desktop \ Raqeb \ EjadahDashbord \ Custom.Auth \ UserStore.cs 13有效

更新

  

我能够通过在UserStore中实现IQueryableUserStore<User, int>并实现方法

来解决此问题      

public IQueryable<User> Users => (UserDb.TryLoadData()).AsQueryable();

     

然后在控制器中调用var List = UserManager.Users.ToList();

0 个答案:

没有答案