ASP.NET + ENTITY FRAMEWORK (NOME DA TABELA ERRADO)
Bom dia pessoal.
Estou usando o Asp.,Net com Entity Framework, usando alguns exemplos encontrados na internet e está ocorrendo o seguinte problema:
Eu criei a classe para o meu objeto (Animal) e criei uma classe de dados derivando de DbContext (Dados).
AÃ eu vou adicionar um controller usando a opção do Visual Studio: MVC 5 Controller with views, using Entity Framework, e dou o nome do controller de AnimaisController.
Acontece que o Visual Studio cria para mim o controller e as views tudo certinho.
Só que eu estou usando um banco de dados já existente (Animais) e quando vou rodar o projeto, o Visual Studio me informa que a tabela não foi encontrad:
The specified table does not exist. [ Animals ].
Reparem que o Visual Studio entende que eu estou utilizando uma tabela Animals ao invés de Animais, ou seja, na hora de criar o controller e as views, ele dá um jeito de pluralizar o nome da tabela, só que para o inglês. Existe alguma forma de eu alterar isso, alguma configuração? Já procurei em todos os arquivos do projeto e ainda não encontrei onde fica armazenado esse parâmetro. Como faço para contornar essa situação? Sempre vai ser assim?
Estou usando o Asp.,Net com Entity Framework, usando alguns exemplos encontrados na internet e está ocorrendo o seguinte problema:
Eu criei a classe para o meu objeto (Animal) e criei uma classe de dados derivando de DbContext (Dados).
AÃ eu vou adicionar um controller usando a opção do Visual Studio: MVC 5 Controller with views, using Entity Framework, e dou o nome do controller de AnimaisController.
Acontece que o Visual Studio cria para mim o controller e as views tudo certinho.
Só que eu estou usando um banco de dados já existente (Animais) e quando vou rodar o projeto, o Visual Studio me informa que a tabela não foi encontrad:
The specified table does not exist. [ Animals ].
Reparem que o Visual Studio entende que eu estou utilizando uma tabela Animals ao invés de Animais, ou seja, na hora de criar o controller e as views, ele dá um jeito de pluralizar o nome da tabela, só que para o inglês. Existe alguma forma de eu alterar isso, alguma configuração? Já procurei em todos os arquivos do projeto e ainda não encontrei onde fica armazenado esse parâmetro. Como faço para contornar essa situação? Sempre vai ser assim?
Olá PERCIFILHO, faça um override no OnModelCreating na sua classe que herda de DbContext e escreva o seguinte:
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
Isso vai remover a pluralização das suas entidades.
Para facilitar segue abaixo o método, você pode remover outras convenções também.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
Espero que resolva o seu problema,
Abraços
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
Isso vai remover a pluralização das suas entidades.
Para facilitar segue abaixo o método, você pode remover outras convenções também.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
Espero que resolva o seu problema,
Abraços
Beleza, Lampião, muito obrigado
Tópico encerrado , respostas não são mais permitidas