2015-01-05 4 views
0

Я пытаюсь выполнить пользовательские таблицы для хранения пользователей/ролей и т.д. в 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(); 
     } 
    } 

Я не могу видеть то, что отличается, что может вызвать эту ошибку?

ответ

0

глупой ошибкой, это должно было быть

app.CreatePerOwinContext(MainContext.Create); 

и не

app.CreatePerOwinContext(MainContext.Create()); 
4

Попробуйте с

app.CreatePerOwinContext<IdentityDbContext>(MainContext.Create); 
Смежные вопросы