не могу найти таблицу для объединения в ядре идентификации ядра asp - PullRequest
0 голосов
/ 26 ноября 2018

у меня есть 3 таблицы в identitycore 2 в aspcore для Users, Roles и UserRole.

Tabels Image

, поэтому мне нужнозаполните UserRoleViewModel всем полем из 3 таблиц.

Я использовал этот код для объединения таблиц:

   public class ApplicationUserManager : UserManager<User>,
        IApplicationUserManager
    {
        private readonly IUnitOfWork _uow;
_passwordValidators;
        private readonly IServiceProvider _services;
        private readonly DbSet<User> _users;
        private readonly DbSet<Role> _roles;
        private readonly DbSet<UserRole> _userRoles;
        private readonly IApplicationUserStore _userStore;

            IUnitOfWork uow,
            IUsedPasswordsService usedPasswordsService)
            : base((UserStore<User, Role, ApplicationDbContexct, int, UserClaim, UserRole, UserLogin, UserToken, RoleClaim>)storer)
        {

            _users = uow.Set<User>();
            _roles = uow.Set<Role>();
            _userRoles = uow.Set<UserRole>();
        }

 public List<UserRoleViewModel> FindUserRole()
        {
            var userinfo=from users in Users 
                         join userRole in _userRoles on  users
        }

, но когда мне нужно, например, user.id, он не показывает мне свойства пользовательской таблицы.эта проблема есть для всех таблиц.

как я могу присоединиться к этим таблицам?

1 Ответ

0 голосов
/ 27 ноября 2018

Я использую этот код для возврата всей информации о пользователях и их роли:

    [HttpGet("UserList")]
    public IEnumerable<User> UserList()
    {
        return _applicationUserManager.Users.ToList();

    }
 [HttpGet("Roles")]
    public async Task<IActionResult> Role()
    {
        List<UserRoleViewModel> URVM = new List<UserRoleViewModel>();
        foreach (var item in UserList())
        {
            var users = await _applicationUserManager.FindUserById(item.Id);
            var roles = await _applicationUserManager.GetRolesAsync(users);
            var roleName = await _applicationRoleManager.FindRoleByNameList(roles[0]);
            URVM.Add(new UserRoleViewModel
            {
                Id = users.Id,
                Email = users.Email,
                BirthDate = users.BirthDate,
                CreatedDateTime = users.CreatedDateTime,
                FirstName = users.FirstName,
                IsActive = users.IsActive,
                PhoneNmuberConfirmed=users.PhoneNumberConfirmed,
                IsEmailPublic = users.IsEmailPublic,
                LastName = users.LastName,
                TwoFactorEnabled = users.TwoFactorEnabled,
                EmailConfirmed = users.EmailConfirmed,
                LockoutEnabled = users.LockoutEnabled,
                LastVisitDateTime = users.LastVisitDateTime,
                Location = users.Location,
                PhotoFileName = users.PhotoFileName,
                RoleLevel = roleName.RoleLevel,
                Description = roleName.Description,
                roleId = roleName.Id
            });
        }
        return Ok(URVM);
    }
...