4
respostas

Dúvida no Ex. 3 da Aula 7 - Trabalhando com herança

A resposta desde ex é a seguinte

"Repare que como estamos usando herança podemos utilizar a classe UsuarioDAO para salvar qualquer classe que seja filha de Usuario mas como que o entity framework vai salvar os dados específicos como CNPJ e CPF se ele só está trabalhando com o tipo Usuario? Embora o polimorfismo permitir o entity framework não vai salvar os nossos dados corretamente, portanto o melhor é criar uma DAO para cada entidade."

Porém já tinha sacado que poderia utilizar o usuarioDAO para cadastrar PF ou PJ, então fiz

UsuarioDao dao = new UsuarioDao(); PessoaFisica pf = new PessoaFisica() { Nome = "Fernanda", CPF = "101112", Senha = "123456"

};

PessoaJuridica pj = new PessoaJuridica() { Nome = "Alura", CNPJ = "789", Senha = "123456"

};

dao.Salva(pj); dao.Salva(pf);

Os usuário foi cadastrado normalmente no banco co CNPJ e CPF corretos para seus respectivos usuários.. Foi apenas uma coincidência ou só não é uma boa prática?

4 respostas

Qual a implementação do seu método Salva na classe UsuarioDAO?

Olá,
Obrigado pelo código Gabriel, pois tirou me uma dúvida :) valeu

Eric, o código dado na video aula é:
        public void Salva(Usuario usuario)
        {
            contexto.Usuarios.Add(usuario);
            contexto.SaveChanges();
        }

Fiz a mesma coisa que a Graziela e gravou certinho.

E agora?