Ir para conteúdo
Fórum Script Brasil
  • 0

Entity framework 6: erro entre contextos


Raphael_i7

Pergunta

Estou usando dois contextos: Um para o Asp.Net Identity e outro para a minha aplicação.

Criei a entidade "Usuario" para representar a tabela "AspNetUsers" do Identity, colocando nela todas as propriedades que tem na tabela "AspNetUsers".

Através do Fluent Api mapeei a entidade "Usuario" da seguinte forma:

 

public class UsuarioConfig : EntityTypeConfiguration<Usuario>

{

          public UsuarioConfig()

          {

                    ToTable("AspNetUsers");

 

                    HasKey(x => x.Id);

 

                    Property(x => x.Nome)

                                .HasMaxLength(100)

                                .IsRequired();

 

                    Property(x => x.Email)

                                .HasMaxLength(100)

                                .IsRequired();

 

                    Property(x => x.UserName)

                                .HasMaxLength(100)

                                .IsRequired();

          }

}

 

E depois adicionei ela no "OnModelCreating()" do contexto da minha aplicação:

 

protected override void OnModelCreating(DbModelBuilder modelBuilder)

{

          base.OnModelCreating(modelBuilder);

          modelBuilder.Configurations.Add(new UsuarioConfig());

          ...

}

 

E no contexto do Identity coloquei essa mesma configuração diretamente no "OnModelCreating()":

 

public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, int, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>, IDisposable

{

          public ApplicationDbContext() : base("DefaultConnection") { }

 

          protected override void OnModelCreating(DbModelBuilder modelBuilder)

          {

                    base.OnModelCreating(modelBuilder);

 

                    modelBuilder.Entity<ApplicationUser>()

                                        .ToTable("AspNetUsers");

 

                    modelBuilder.Entity<ApplicationUser>()

                                        .HasKey(x => x.Id);

 

                    modelBuilder.Entity<ApplicationUser>()

                                        .Property(x => x.Nome)

                                        .IsRequired()

                                        .HasMaxLength(100);

 

                    modelBuilder.Entity<ApplicationUser>()

                                        .Property(x => x.Email)

                                        .IsRequired()

                                        .HasMaxLength(100);

 

                    modelBuilder.Entity<ApplicationUser>()

                                        .Property(x => x.UserName)

                                        .HasMaxLength(100)

                                        .IsRequired();

          }

 

          public static ApplicationDbContext Create()

          {

                    return new ApplicationDbContext();

          }

}

 

Mas ao dar o Update-Database, o EF6 reclama que já existe a tabela "AspNetUsers", mas eu não queria que ele tentasse criar a tabela, mas somente referenciá-la ou que atualizasse ela. Tem alguma forma de dizer ao EF6 para que ele não tente criar a tabela novamente?

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...