Я немного искал эту проблему и столкнулся с несколькими вопросами в отношении AspNetUserRoles, которые не были в дизайнере EDMX при генерации из базы данных. Однако его в ModelBrowser и я не могу заставить эту таблицу отображаться, поэтому я могу использовать Roles Authorization.AspNetUserRoles не в EDMX при генерации из базы данных
Когда я ударил этот метод в моем классе Роли
public override string[] GetRolesForUser(string username)
{
DTE = new DatabaseTestingEntities();
string userID = DTE.AspNetUsers.Where(w => w.Email == username).Select(s => s.Id).FirstOrDefault();
string roleID = DTE.AspNetUsers.Include("AspNetRoles").Where(s => s.Id == userID).FirstOrDefault().ToString();//.AspNetUserRoles.Where(w => w.UserId == userID).Select(s => s.RoleId).FirstOrDefault();
string roleName = DTE.AspNetRoles.Where(w => w.Id == roleID).Select(s => s.Name).FirstOrDefault();
string[] results = { roleName };
return results;
}
Результаты всегда возвращаются в нуле ..
Однако это должно выглядеть следующим образом вместо
public override string[] GetRolesForUser(string username)
{
DTE = new DatabaseTestingEntities();
string userID = DTE.AspNetUsers.Where(w => w.Email == username).Select(s => s.Id).FirstOrDefault();
string roleID = DTE.AspNetUserRoles.Where(w => w.UserId == userID).Select(s => s.RoleId).FirstOrDefault();
string roleName = DTE.AspNetRoles.Where(w => w.Id == roleID).Select(s => s.Name).FirstOrDefault();
string[] results = { roleName };
return results;
}
Но таким образом выдает ошибку, потому что AspNetUserRoles не находится в дизайнере EDMX, когда я генерирую EF из базы данных.
Как я могу получить эту таблицу, чтобы я мог продолжить, что мне нужно сделать?
Я пробовал обновлять EDMX, и это тоже не работает.