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?
Pergunta
Raphael_i7
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
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.