+7 votos
72 visitas

O método Get de uma entidade especializada específica está retornando o tipo da entidade do núcleo.

Entidade de núcleo: public class Pessoa : BusinessEntity<Pessoa>

Entidade específica: public class PessoaXPTO : Pessoa

PessoaXPTO.Get() está retornando Pessoa.

Não deveria ser PessoaXPTO?

 

por (865 pontos) | 72 visitas

1 Resposta

+5 votos
Melhor resposta

Isto é uma limitação do C#/BEF.

Como o tipo de retorno dos métodos GetMany e Get é definido na classe núcleo (Pessoa : BusinessEntity<Pessoa>), esses métodos vão retornar sempre o tipo do núcleo.

Mas é só a assinatura, as instâncias serão do tipo específico, no caso PessoaXPTO.

A solução correta é utilizar o operador as:

PessoaXPTO pessoaEspecifica = PessoaXPTO.Get(1) as PessoaXPTO;

 

por (865 pontos)
selecionada por
Melhores Jun 2026
  1. Duwe

    4 Pontos

200 pontos
Melhores 2026 Jun 08 - 14
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. luciano.fronza

    61 Pontos

  5. luciano.fronza

    61 Pontos

  6. luciano.fronza

    61 Pontos

  7. diuari.molinari

    52 Pontos

  8. diuari.molinari

    51 Pontos

  9. diuari.molinari

    51 Pontos

  10. willian.metalsystem

    45 Pontos

518 perguntas
568 respostas
389 comentários
791 usuários