Professor, boa tarde, antes de qualquer coisa, gostaria de agradecer pelo ótimo curso apresentado aqui no Alura, ele foi fundamental para que eu desse os primeiro passos com o Entity FrameWork. Valeu! A solução em que o Entity produz uma única tabela ficou ótima:
Classe de domínio
SOLUÇÃO 1
public class PessoaFisica : Usuario
{
public string CPF { get; set; }
}
public class PessoaJuridica : Usuario
{
public string CNPJ { get; set; }
}
public abstract class Usuario
{
public int ID { get; set; }
public string Nome { get; set; }
public string Senha { get; set; }
}
CLASSE CONTEXTO:
public DbSet<ProdutoFisicas> PessoasFisicas { get; set; }
public DbSet<ProdutoJuridicas> PessoasJuridicas { get; set; }
Mas tive duas dúvidas: E se eu quisesse que fosse criado as tabelas: PessoasFisicas e PessoasJuridicas sem a tabela usuario?
SOLUÇÃO 2
PessoasFisicas [id, nome, senha, cpf]
PessoasJuridica [id, nome, senha, Cnpj]
Ou com três tabelas, PessoasFisicas, PessoasJuridicas e usuario?
SOLUÇÃO 3
Usuario[id, nome, senha]
PessoasFisicas [(idUsuario), cpf]
PessoasJuridica [(idUsuario), Cnpj]
Onde idUsuario é chave estrangeira e primária.