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

Problemas no controller de classes com Herança

Exemplo de herança do curso.

Classes: Cliente, ClientePF (com CPF), Cliente PJ (com CNPJ)

tabela no banco db.Clientes

No controller de ClientePF

    public ActionResult Alterar(int id)
        {
        ClientePF clientePF = db.Clientes.Find(id);

dá um erro dizendo que não pode converter implicitamente Cliente para ClientePF.

Basta colocar um Casting???????????????? ClientePF clientePF = (ClientePF)db.Clientes.Find(id);


E...Complica bastante quando há mais classes filhas e cada uma com campos diferentes. Por exemplo:

Classes Pai, Filho1, Filho2, Filho3

E em uma mesma linha no controller Filho1 filho1 = db.Pai.Find(id);

Ele reclama que não pode converter filho2 para filho1. Dê onde ele meteu filho2 nessa história?

O que seria apenas uma possibilidade do id ser relativo a um filho2 ou filho3.

E nesses casos o Casting não é suficiente.

1 resposta
solução!

Supostamente o casting ajudaria.. mas deveria trabalhar com a classe mais genérica e não com as especializacoes. Se ali vc já sabe que quer uma PessoaFisica, pq faz a query pensando na Pessoa?