Nhibernate-profiler
NHibernate-プロファイラー
この章では、データベースのすべてのレコードが*取得、更新、作成、削除*され、これらのクエリがどのように実行されるのかを理解します。
これらすべてを理解するために、コンソールにSQLを記録するオプションを設定に追加するだけです。 これは、SQLクエリをログに記録する簡単なステートメントです-
これで、NHibernateDemoDBデータベースのstudentテーブルに2つのレコードができました。 次のコードに示すように、データベースからすべてのレコードを取得しましょう。
だから先に進み、このアプリケーションを再度実行してみましょう。次の出力が表示されます-
ご覧のとおり、データベースに送信される* select句*は、実際にはID、FirstMidNameおよびLastNameを取得する句に似ています。 したがって、大量のレコードをサーバーに戻してサーバー側で処理するのではなく、これらすべてをデータベースに送信してそこで処理しています。
NHibernate Profiler
これらの結果を見る別の方法は、NHibernate Profilerを使用することです。 NHibernate Profilerは商用ツールですが、NHibernateアプリケーションでの作業には非常に便利です。 NuGetからNHibernate Profilerをアプリケーションに簡単にインストールできます。
NuGetパッケージマネージャー→パッケージマネージャーコンソールを選択して、[ツール]メニューからNuGetマネージャーコンソールに移動します。 パッケージマネージャーコンソールウィンドウが開きます。 次のコマンドを入力して、Enterキーを押します。
NHibernate Profilerに必要なすべてのバイナリがインストールされます。正常にインストールされると、次のメッセージが表示されます。
NHibernate Profilerがインストールされると、NHibernate Profilerが起動することもわかります。 それを使用するにはライセンスが必要になりますが、デモのために、NHibernate Profilerの30日間の試用版を使用できます。
これで、NHibernate ProfilerはWebアプリケーションで動作するように最適化され、ソリューションエクスプローラーに* App_Startフォルダー*が追加されていることがわかります。 これらすべてをシンプルに保つには、App_Startフォルダーを削除します。また、プログラムクラスのMainメソッドの開始時に1つのステートメントが追加されることを確認します。
このステートメントも削除し、次のコードに示すように、単純な呼び出し NHibernateProfiler.Initialize を追加するだけです。
アプリケーションを実行すると、NHibernate Profilerアプリケーションにデータが送信されます。
NHibernate Profiler Application
ここに表示されているように、トランザクションが開始されたこと、SQLがデータベースに対して実行していることを素敵な形式で表示する素晴らしい表示があります。
したがって、これは、NHibernateアプリケーションの内部で何が起こっているかを正確に判断するのに非常に役立ちます。 アプリケーションが一定レベルの複雑さになると、信じられないほど便利になります。SQLプロファイラのようなものが必要ですが、NHibernateの知識が必要です。