Como mover MVC 5 IdentityModels.cs em uma montagem separada
Eu me pergunto se alguém se deparou com o problema que estou tendo com a tentativa de moverApplicationUser
no projeto Modelos (onde todos os outros modelos residem, incluindo os relacionados à tabela Usuários).
Minha solução de teste MVC 5 consiste em um projeto da web e duas bibliotecas de classes: uma para camada de acesso a dados (DAL) e outra para modelos. Eu faço referência a AspNet.Identity.EntityFramework em todos os três projetos. Na minha classe DAL, eu implemento o padrão Repositório e um UnitOfWork. UnitOfWork estendeIdentityDbContext<ApplicationUser>
. ApplicationUser: IdentityUser está na biblioteca de classes de modelos.
No meu projeto web, o UnitOfWork é instanciado usando o Autofac DI. Para controladores regulares, defini uma classe base que herda de Controller e usa IUnitOfWork como um parâmetro no construtor. Todos os controladores herdam do meu controlador de base personalizado. Eu tive um problema comAccountController
. Tem dois construtores: um sem parâmetros que parece instanciarApplicationDbContext
, o outro leva o UserManager como um parâmetro.
O construtor sem parâmetros me dá a maior parte do sofrimento. Eu tentei muitas coisas: fazeraccountcontroller
herda do meu controlador de base personalizado e tente herdá-lo da classe Controller. Na melhor das hipóteses eu consegui fazer a minha solução compilar, mas quando eu testar o aplicativo e preencher o formulário de registro do usuário recebo mensagem 'Objeto não é instanciado'. Quando eu depurar vejo que o segundo construtor emAccountController
é chamado masUserManager
é nulo lá.
Alguma ideia? Eu realmente aprecio a entrada inteligente de alguém para isso.