Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Melhor forma de configurar o mapeamento da tabela EF core < 2.0

Boa tarde, estou usando outra versão do EF Core por que estou utilizando ela com o ASP NET MVC e o host que preciso hospedar a aplicação aceita apenas aplicações com o net framework 4.5, e nessa versão do EF Core não tem o IEntityTypeConfiguration, antes dessa aula eu ja tinha separado as tabelas em métodos dentro da classe de contexto mas ficou muito grande, então depois de assistir essa aula pensei em separar por classes também. Pensei em 3 formas. Aqui é como esta agora tudo na mesma classe

protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            MapearProduto(modelBuilder);
            MapearGrupo(modelBuilder);
            MapearMaterial(modelBuilder);
            MapearCapacidade(modelBuilder);
            MapearEspecificacao(modelBuilder);
            MapearEspecificacaoProduto(modelBuilder);
        }

e o codigo de mapeamento fica dentro de cada metodo que eu chamei.

  1. Criar uma classe por tabela, ao instanciar a classe passar o modelbuilder e usar e chamar um método para mapear a classe
CapacidadeMapeamento _capacidade = new CapacidadeMapeamento(modelBuilder);
            _capacidade.Mapear();
  1. Outra solução que pensei seria em criar essas classes estáticas, e passar o model builder para a classe estática
CapacidadeMapeamento.Mapear(modelBuilder);
  1. Criar uma classe para mapear todas as tabelas, onde cada metodo era referente a uma tabela.
MapearTabelas mapear = new MapearTabelas(modelBuilder);

mapear.capacidade();
mapear.material();
mapear.produto();

qual seria a melhor forma? tem outra maneira melhor de fazer? mantenho tudo na classe de contexto separado por metodos como esta?

1 resposta
solução!

Fala, Rafael, tudo bem?

Ao meu ver são todas soluções válidas. A resposta não está associada ao Entity Framework em si, mas aos conceitos de orientação a objetos.

Contudo, já pensando num upgrade de suporte do host para versões superiores ao .NET Framework e consequente possibilidade de subir a versão do EF Core, eu optaria pela estratégia de criar classes separadas para o mapeamento de cada entidade. Daí ficaria mais fácil evoluir seu código quando houvesse suporte para o EF Core 2.

Espero que tenha ajudado.

Abraços, Daniel