Domanda

Ho usato NHibernbate in pochi progetti e ora ho imparato anche qualche altro ORM. Capisco che NHibernate lega dinamicamente Class a Datalayer durante il runtime utilizzando il file di mapping.

La mia domanda è: come viene eseguita questa associazione tardiva? Voglio dire, quale metodologia viene utilizzata, "Reflection" o "DynamicMethod"?

Nel caso in cui utilizzi Reflection, esiste qualche ORM che utilizza DynamicMethod? e offre prestazioni migliori?

È stato utile?

Soluzione

A partire da NHibernate 2.1, proxy factory è collegabile . Ecco alcuni provider di proxy supportati:

  • Castle.DynamicProxy
  • Linfu
  • Spring.NET

Quindi il proxy sarà in realtà fuori dalla responsabilità di NHibernate e la risposta a questa domanda dipende in realtà dalla fabbrica di proxy selezionata.

Altri suggerimenti

NHibernate utilizza Castle.DynamicProxy, che sotto il cofano utilizza DynamicMethods.

L'esatto modo in cui un ORM crea un'istanza delle entità non è un buon modo per valutarne le prestazioni complessive.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top