2

私はいくつかのプロジェクトで NHibernbate を使用してきましたが、ORM についてもいくつか学びました。NHibernate は、実行時にマッピング ファイルを使用してクラスをデータレイヤーに動的にバインドすることを理解しています。

私の質問は、この遅延バインディングがどのように行われるかです。つまり、「Reflection」または「DynamicMethod」のどちらの方法論が使用されているのでしょうか?

万が一、リフレクションを使っている場合、DynamicMethodを使っているORMはありますか?より良いパフォーマンスを提供しますか?

4

3 に答える 3

3

NHibernate 2.1 の時点で、プロキシ ファクトリは pluggableです。サポートされているプロキシ プロバイダーの一部を次に示します。

  • Castle.DynamicProxy
  • リンフー
  • Spring.NET

したがって、プロキシは実際には NHibernate の責任外であり、この質問に対する答えは、選択したプロキシ ファクトリに大きく依存します。

于 2009-03-05T11:44:31.783 に答える
2

NHibernate は、内部で DynamicMethods を使用する Castle.DynamicProxy を使用します。

于 2009-03-04T11:38:30.213 に答える
0

ORM がエンティティをインスタンス化する正確な方法は、その全体的なパフォーマンスを評価する良い方法ではありません。

于 2009-03-04T12:43:22.400 に答える