У меня такое задание. В момент регистрации пользователю добавляется роль. На данный момент их 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.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости