Я группирую несколько SQL-запросов в одном мультизапросе.Запросы успешно выполнены.Результатом 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>