我正在尝试从自定义数据库(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();
。