Я только что расширил свою таблицу AspNetRoles следующим образом:
public class ApplicationRole : IdentityRole
{
public ApplicationRole() : base() { }
public String ApplicationId { get; set; }
public AspNetApplications Application { get; set; }
}
Когда я добавил свою миграцию и обновил базу данных, появился столбец ApplicationId и дискриминатор.
Однако, когда ямне нужен доступ к данным из этой таблицы, я не могу получить доступ к новому полю:
List<ApplicationRole> data = (from ar in dbContext.Roles
join a in dbContext.AspNetApplications
on ar.ApplicationId equals a.Id
select new ApplicationRole
{
Id = ar.Id,
Name = ar.Name
ApplicationId = (Unable to access this section)
}).ToList();
Я пытался следовать этому руководству http://johnatten.com/2014/06/22/asp-net-identity-2-0-customizing-users-and-roles/#Extending-Identity-Role, и я добавил новый ApplicationRoleManager в свой IdentityConfig
public class ApplicationRoleManager : RoleManager<ApplicationRole>
{
public ApplicationRoleManager(IRoleStore<ApplicationRole, string> roleStore): base(roleStore)
{
}
public static ApplicationRoleManager Create(IdentityFactoryOptions<ApplicationRoleManager> options, IOwinContext context)
{
return new ApplicationRoleManager(new RoleStore<ApplicationRole>(context.Get<ApplicationDbContext>()));
}
}
Когда я заполняю свою базу данных, ApplicationId заполняется без проблем.Только когда я пытаюсь получить данные из него, я сталкиваюсь с проблемами.