System.NotSupportedException: «Магазин не реализует IQueryableUserStore <TUser>.»: Получение списка пользователей (пользовательская идентификация: файл JSON) - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь получить список пользователей из пользовательской БД (файл JSON)

Это проект, который я использовал для реализации рабочего проекта .

Теперь я попытался подписаться на этот пост .

Но я все еще получаю сообщение об ошибке в контроллере:

    //
    // 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 ошибки компиляции

Severity Code Description ProjectОшибка состояния подавления строки файла CS0311 Тип 'EjadahDashboard.Custom.Identity.User' нельзя использовать в качестве параметра типа 'TUser' в универсальном типе или методе 'IQueryableUserStore'.Не существует неявного преобразования ссылок из 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 'нельзя использовать в качестве параметра типа' TUser 'в универсальном типе или методе' IUserStore '.Не существует неявного преобразования ссылок из 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 'нельзя использовать в качестве параметра типа' TUser 'в универсальном типе или методе' IQueryableUserStore '.Не существует неявного преобразования ссылок из EjadahDashboard.Custom.Identity.User в Microsoft.AspNet.Identity.IUser.EjadahDashboard.Custom.Identity C: \ Users \ nbinobied \ Desktop \ Raqeb \ EjadahDashbord \ Custom.Auth \ UserStore.cs 13 Активно

Обновление:

Я смог решить эту проблему, внедрив IQueryableUserStore<User, int> в UserStore и реализовав метод

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

, затем вызвав var List = UserManager.Users.ToList(); в контроллере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...