私は実体を持っています私は2番目のレベルのキャッシュを接続するまで。したがって、Cacheable()
行のコメントを外すと例外が発生します。NHibernateの第二レベルのキャッシュは
メッセージ:値はnullにはできません。パラメータ名: のStackTrace別名:
at NHibernate.Transform.AliasedTupleSubsetResultTransformer.IncludeInTransform(String[] aliases, Int32 tupleLength)
at NHibernate.Transform.CacheableResultTransformer.Create(ITupleSubsetResultTransformer transformer, String[] aliases, Boolean[] includeInTuple)
at NHibernate.Loader.Loader.GenerateQueryKey(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.ListUsingQueryCache(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)
だから何がそれと間違っていますか? NHibernateのバグですか? 私は無駄のない別のプロバイダを試しました。また、私はこのようCacheableResultTransformerを作成しようとしました:
CacheableResultTransformer.Create(Transformers.AliasToBean<SalesUnitDto>(), new[] { "Id", "Name" }, new[] { true, true })
それが唯一のタプル(オブジェクト[])のように戻り、キャッシュデータすることができます。私はDtoを返すことはできませんでした。 github
'result'はどのように宣言されていますか? –
@Andrew Whitaker、 'result'は' SalesUnitDto'です –
再生できません - Cacheable()で動作します。 NH v4.0.4.4000 –