+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 Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    517 perguntas
    566 respostas
    389 comentários
    704 usuários