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

Por que o EntityFramework não executa um metódo construtor com parâmetros?

Boa tarde só uma curisosidade, ao criar o método recuperar produtos usando o foreach para iterar pela lista que adicionei a minha tabela foi demonstrado a seguinte expection:

System.InvalidOperationException: 'A parameterless constructor was not found on entity type 'Produto'. In order to create an instance of 'Produto' EF requires that a parameterless constructor be declared.'

Eu entendi que ele necessita de um construtor vazio, então eu o fiz

  private Produto()
        {

        }

E o código compilou normalmente.

Minha dúvida é, por que o entity precisa ter um "Default Constructor" para funcionar?

1 resposta
solução!

Olá Fernando, tudo bem?

Isso é necessário, porque nem sempre será necessário criar um objeto populado de dados. Principalmente quando for atuar na criação e modificação das tabelas no banco de dados. Neste caso precisa apenas do objeto para atuar como tipo genérico do DbSet<T>, não dos valores.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software