insira seu código aqui
insira seu código aqui
Oi Marília, tudo bom?
A resposta simples pra isso é: porque o framework utiliza propriedades virtuais para realizar o lazy loading =)
A resposta mais elaborada é porque normalmente, quando puxamos a entidade do banco, não precisamos da entidade toda. Por isso o framework traz apenas o ID populado! (lazy loading) O resto ela carrega apenas quando você tenta usar (normalmente quando utilizamos o GET da nossa property).
Por baixo dos panos, o nhibernate vai mapear suas propertys com o respectivo atributo e realizar a injeção de Proxy Objects que, quando acessados são trocados pelos dados que você quer =)
Tornar a property virtual possibilita essa "magica"!
Espero ter esclarecido.
Abraço e bons estudos =)