nhibernate升级2.1到3.3,使用DistinctRootEntityResultTransformer时例外

时间:2012-05-15 10:56:22

标签: nhibernate

我们已将NHibernate从2.xx升级到3.3。它运作良好,但我们有一些

的用法
SetResultTransformer(new DistinctRootEntityResultTransformer())

现在我们在执行

时得到“索引超出了数组的范围”异常
.List<Entity>()

堆栈跟踪显示错误来自 at NHibernate.Type.TypeHelper.Disassemble(Object[] row, ICacheAssembler[] types, Boolean[] nonCacheable, ISessionImplementor session, Object owner) at NHibernate.Cache.StandardQueryCache.Put(QueryKey key, ICacheAssembler[] returnTypes, IList result, Boolean isNaturalKeyLookup, ISessionImplementor session) at NHibernate.Loader.Loader.PutResultInQueryCache(ISessionImplementor session, QueryParameters queryParameters, IType[] resultTypes, IQueryCache queryCache, QueryKey key, IList result) at NHibernate.Loader.Loader.ListUsingQueryCache(ISessionImplementor session, QueryParameters queryParameters, ISet1 querySpaces, IType[] resultTypes) at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet1 querySpaces, IType[] resultTypes) at NHibernate.Loader.Criteria.CriteriaLoader.List(ISessionImplementor session) at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)

任何线索?

我发现了这个:https://nhibernate.jira.com/browse/NH-2961

如果删除,fetchmode.join或distinctrootenttransformer或缓存,它就可以工作。

0 个答案:

没有答案