asp.net mvc добавление пользовательского столбца в таблицу ролей идентификации - PullRequest
0 голосов
/ 09 октября 2018

Таким образом я добавляю новый столбец в таблицу ролей идентификации

 public class ApplicationRole : IdentityRole
{
    public ApplicationRole() : base() { }
    public ApplicationRole(string name, long customId) : base(name)
    {
        this.CustomId= customId;
    }
    public virtual long CustomId{ get; set; }
}

В dbContext я добавил

 modelBuilder.Entity<ApplicationRole>().ToTable("AspNetRoles");

, используя этот новый столбец CustomId успешно добавлен в AspNetRoles таблица с использованием миграции.
Но когда мне нужно вызвать таблицу ролей, например

private readonly IdentityDbContext db_Identity;
..
..
 db_Identity.Roles.Select(x=>x.CustomId) 

, я не могу найти недавно добавленный столбец CustomId здесь.
Есть ли какой-то шаг, который я пропустил?

Обновление

С ответом @ Chirs я могу получить CoustomId, но когда я бегу, я получаю эту ошибку

Cannot create a DbSet for 'IdentityRole' because this type is not included in the model for the context

1 Ответ

0 голосов
/ 09 октября 2018

Если вы используете пользовательские модели удостоверений, вам также нужно наследовать от одного из общих классов IdentityDbContext и указать свой пользовательский тип в соответствующем параметре типа.В этом случае вам просто нужно что-то вроде:

public class MyDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, string>

Затем используйте свой собственный класс контекста:

private readonly MyDbContext db_Identity;
...