1
resposta

Pq a propriedades precisam ser virtuais?

insira seu código aqui
1 resposta

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 =)