Я пытаюсь выполнить пользовательские таблицы для хранения пользователей/ролей и т.д. в SQL сервера БД с помощью базы Entity 6.ASP.net Идентичность Пользовательские таблицы с использованием OwinContext
Я создать базу DbContext, производный от IdentityDbContext
public class MainContext : IdentityDbContext<ApplicationUser>
{
public MainContext()
: base("name=Main")
{
}
public static MainContext Create()
{
return new MainContext();
}
}
у меня есть пользовательский класс пользователя, который наследуется IdentityUser
public class ServiceUser : IdentityUser{
}
В ConfigureAuth код Defualt был:
public void ConfigureAuth(IAppBuilder app)
{
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
..
}
Я хочу, чтобы иметь возможность использовать свой MainContext здесь вместо ApplicationDBContext, когда я пытаюсь следующий
app.CreatePerOwinContext(MainContext.Create());
Я получаю сообщение об ошибке
«Аргументы типа для метода 'Owin.AppBuilderExtensions.CreatePerOwinContext (Owin.IAppBuilder, System.Func)' не может быть выведен из использования. Попробуйте указать аргументы типа явно. '
Учитывая умолчанию ApplicationDbContext в выглядит следующим образом:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("Main", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
Я не могу видеть то, что отличается, что может вызвать эту ошибку?