2012-01-29 3 views
1

私はNHibernateに新しく、少し苦労しています。私は最新のバージョン3.2を使用しています。私はhbm.xmlファイルを使ってマッピングを行っています。私は4つの実体と4つのテーブルを持っています。どのようにしてnhibernate xmlマッピングを検証できますか?

LINQ-NHibernateを使って基本的な選択を実行しようとすると、2つを取り戻すことができますが、他の2つは戻ってこないので、私のマッピングに何らかの問題があると思われます。

これらのマッピングを検証するにはどうすればよいですか?私はエラーを取得していない、私はちょうど戻って結果を取得します。テーブルには確かにデータがあります。

私のクエリは、このようなものです:

IQueryable<MyEntityName> results = 
      (from x in nhSession.Query<MyEntityName>() 
      select x); 
+0

[this](http://www.codinginstinct.com/2008/05/nhibernate-validator.html)のようなものはありますか? –

+1

どのようなエラーが表示されますか?また、すべてのhbm.xmlファイルが組み込みリソースであることを100%確信していますか? – Rippo

答えて

0

私が提供できる最高のアドバイスはHibernating Rhino's nHibernate Profileのコピーをつかんれます。私たちはnHibernateビジネスに1.5年を費やしており、それは単に私たちがまだ見てきた最も重要なツールです。あなたはそれを購入するか、ある期間、非常に妥当な価格で購読することができます。あなたのマッピングが生成しているSQLを正確に見ることができれば、問題のマッピングを解決することが不可欠です。

+0

私はこのツールを調査しましたが、XMLマッピングを検証する能力がないことがわかりました。 – tnktnk

3

マッピングが意味をなさない場合、NHibernateはエラーをスローします。起こっていることは、埋め込みリソースとしていくつかのマッピングファイルをマークするのを忘れたことです。

+0

私はここの文書http://www.nhforge.org/doc/nh/en/index.htmlをかなり慎重に読んだので、私はそれについて知っていますが、あなたは絶対に正しいです。非常に一般的なXMLマッピングによる初期の間違いですので、私はその応答に感謝します。 – tnktnk

+0

これはエラーを発生させず、SQLプロファイラでは動作していない2つのエンティティに対してデータベースにクエリを一切送信しないことを確認しました。 – tnktnk

+0

私の経験では、クエリがない場合、a)マッピングfieは埋め込みファイルではないか、b)セッションファクトリを構築するときにエラーが発生します。 – Rippo

関連する問題