もともとは.NET2.0とVS2005で作成された古いプロジェクトがあり、最終的にはVS2008になりました。データアクセスにはNHibernate1.2を使用します。アップグレードの一環として、.NET 4.0とVS2010に移行しましたが、NHibernate1.2から3.3への移行でいくつかの問題が発生しています。
私たちが抱えている主な問題は、リンクがあるテーブルをクエリすることです。実行しているクエリは次のとおりです。
IQuery query = base.Session.CreateSQLQuery("select t from Transaction t inner join Order o where TransactionDate >= ? && TransactionDate <= ? order by TransactionDate desc");
2つの異なるエラーが発生します。t.Transactionまたはt.Ordersのいずれかがデータベースに存在しません。これらのテーブルが存在することはわかっています。何度もチェックしましたが、そこにデータがあることを知っています...
NHibernate 1.2から3.2にアップグレードするときに注意すべきことについての質問を見ましたが、マッピングファイルを変更する必要があるかもしれないと述べていますが、何を変更する必要があるかについては言及していません。マッピングファイルで、何を変更する必要があるか教えてください。確かに、下位レベルでNHibernateを使用するのはこれが初めてです(実際にはDBと通信します)。この時点まで、すべてのデータベースはすでに「完了」していました...問題が発生したのはアップグレードだけです...