Pergunta

Eu tenho usado NHibernbate em alguns projetos e agora aprendeu sobre alguns mais ORMs também. Eu entendo que, NHibernate liga Class para DataLayer dinamicamente durante a execução usando o arquivo de mapeamento.

A minha pergunta é, como essa ligação tardia é feito? Quero dizer, qual metodologia é utilizada, 'Reflexão' ou 'DynamicMethod'?

No caso, se ele usa Reflection, Existe alguma ORM que usa DynamicMethod? e proporciona um desempenho melhor?

Foi útil?

Solução

A partir de NHibernate 2.1, a fábrica de proxy é conectável . Aqui estão alguns provedores de proxy suportados:

  • Castle.DynamicProxy
  • LinFu
  • Spring.NET

Assim proxy será realmente fora da responsabilidade do NHibernate, ea resposta a esta pergunta depende realmente da fábrica de proxy selecionado.

Outras dicas

NHibernate usa Castle.DynamicProxy, que sob as utilizações DynamicMethods capa.

Exatamente como um ORM instancia entidades não é uma boa maneira de avaliar o seu desempenho global.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top