У меня такое задание. В момент регистрации пользователю добавляется роль. На данный момент их 2. Client, Doctor. Вот сервис-метод что добавляет роль. тут для меня все понятно. И что самое интересно через этот сервис роль добавляется в таблицу что мне нужна, но не могу к ней добраться.
public void AddUserToRole(DtoUser user, string roleName)
{
var dbUser = repo.GetQuery<AspNetUsers>().SingleOrDefault(e => e.Id == user.Id);
if (dbUser == null) return;
if (dbUser.AspNetRoles.Count == 0 || dbUser.AspNetRoles.Any(el => el.Name != roleName))
{
var role = repo.GetQuery<AspNetRoles>().SingleOrDefault(e => e.Name == roleName);
if (role == null) return;
dbUser.AspNetRoles.Add(role);
repo.SaveChanges();
}
}
Идем дальше. В базе данных есть отдельная таблица для ролей пользователей. Но в модели она нигде не указана. Таблица эта называется "AspNetUsersRoles" тут по Id хранится роль которая указывается при регистрации(она мне и нужна). Остальные данные пользователя попадают в большую таблицу AspNetUsers, к которой я имею доступ(под доступом я имею ввиду, что она представлена в модели классом но тут нету самих ролей, ведь они ж в другой таблице) Есть еще 3я таблица, список самих ролей "AspNetRoles". Тут просто перечислены роли в базе. И того есть такая диаграмма. На первой картинке связь с таблицей перечисленных ролей, во второй связь с с главной таблицей. Всюду как я понимаю они по Id связаны.
Мне надо написать небольшой сервис или просто запрос Linq что б вытащить их роли по Id. Ведь регистрировать я могу а вот вытащить их для сравнения не получается:) Хелп. Спасибо.
Вам для начала нужно почитать, что такое ASP .Net Identity. Затем нужно четко сформулировать вопрос. Если вам необходимо получить все роли пользователя, то код приблизительно следующий:
await _userManager.GetRoles(user.Id);
Что такое user manager вы поймете, когда изучите ASP .Net Identity.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable
Хотел попробовать написать программу по правилам паттерна MVVMФактически я никогда не работал с ним
Сейчас читаю вот эту статью Difference between Buffer & Stream in C# и хотел бы для себя сначала уяснить что правильно понимаю, что происходит под капотом...
Возникла проблема оптимизации алгоритма поиска пути на карте (двухмерный массив), уперся в производительность, которая после 200 элементов...