2009-07-06 12 views
0

私はnhibernateマッピングでいくつかのカスケードオプションを試しており、データベースの状態を検査するためにツールを使用するユニットテストがあります。私はlinqpadを使用してこれを行うことができたと思っていましたが、デバッガ中に接続が掛かっているようです。私は、SSMSがデバッグ中にdbを検査するために使用されていたデモを見たことがあるので、何とかlinqpadを使用できるかどうか、あるいは別のツールが必要なのかどうか疑問に思っています(私は私のラップトップ上のSSMSはもっと軽いものを好みます)。デバッグ中のデータベース検査

linqpadとは無関係ですが、これを行うための私の動機は、私がユニットテストで検証しているdb状態がdbかnhibernateのキャッシュかどうかわかりません。アサートの前にSession.Flush()が呼び出された場合、アサートのフェッチがdbから来ることが保証されますか?

乾杯、 Berryl

答えて

1

あなたの質問の後半部分に - はい、フェッチのいずれかの種類がDBにすべてを押し出すする前session.flush()を呼び出します。あなたはまた、行うことができます:

あなたが助けることを望みます。

0

SQLプロファイラ(ツール> SSMSのSQL Serverプロファイル)またはNHProfは、データベースに送信されたコマンドを監視するのに役立ちます。

+0

こんにちはジェイミー 私はちょうどそれらを送信するためにNHibを設定することで、今デシベルに送信されたSQL文を見ることができますコンソールに接続します。便利ですが、デバッグ中にdbデータを検査できる軽量ツールを探しています。 乾杯、 – Berryl

0

HSQLDBに含まれているDatabaseManagerSwingクラスを使用すると、db内のオブジェクトを参照してクエリを実行できるSwingアプリケーションが開きます。それに渡す開いている接続を使用すると、接続はしているトランザクションでデータベースの状態を確認することができます。

DatabaseManagerSwing manager = new DatabaseManagerSwing(); 
manager.main(); 
manager.connect(connection); 
manager.start(); 
関連する問題