Reflexão ou DynamicMethod?
-
03-07-2019 - |
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?
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.