複数の SQL クエリを 1 つのマルチクエリにグループ化しています。クエリは正常に実行されます。の結果multiQuery.List()
はArrayList
ですArrayLists
。ここまでは順調ですね。ただし、個人ArrayLists
にはタイプの値、{object[0]}
または結果トランスフォーマーを使用する場合は、値が に設定されたプロパティが含まれますnull
。ここでは SQL クエリのセット全体をリストすることはしませんが、これは私のマルチ クエリのようです。
var multiQuery = Session.CreateMultiQuery()
.Add<IList<DTO1>>("query1", query1)
.Add<IList<DTO2>>("query2", query2)
.Add(..)
.Add(..);
var results = multiQuery.List();
私の目にはかなり標準的ですが、残念ながら機能しません。Fluent nHibernate (1.2) の最新バージョンを使用しています。このバージョンにはデフォルトで nHibernate 3.1 が付属しており、マルチ クエリ内の SQL クエリはサポートされていません。
これを機能させるために、nHibernate 3.2 をプロジェクトに追加し、web.config に以下を追加しました。
<dependentAssembly>
<assemblyIdentity name="NHibernate"
publicKeyToken="aa95f207798dfdb4"
culture="neutral" />
<bindingRedirect oldVersion="3.1.0.4000"
newVersion="3.2.0.4000"/>
</dependentAssembly>