Hi gang,

We just tried making the hop to NHibernate 4.x, and things were looking 
great except we hit a strange issue around the IResultTransformer 
mechanism. In the 3.x stream, we would reliably get a non-null "aliases" 
array value when IResultTransformer.TransformTuple() was called, and we 
were leveraging this for some transformations to our DTOs. In at least 3 
versions in the 4.x stream (i.e. 4.0.0.4000, 4.0.1.4000, and latest 
4.0.4.4000), the "aliases" parameter will be null when the results come 
from the 2nd-level cache.  Unfortunately, our transformer code can not 
operate without the aliases, and so this is fundamentally broken for us.

Furthermore, looking at the general AliasToBeanTransformer and other 
examples of transformers, the standard pattern is to throw an 
ArgumentNullException if the aliases parameter is null.

We're currently using the NHibernate.Caches.Redis 2nd-level cache. I did 
not test other 2nd-level caches, but given that we've been able to hold the 
cache constant and vary the version of NHibernate to reproduce the bug or 
make it go away, I suspect something has fundamentally changed in 4.x and 
that it is likely a bug.

Has anyone else been using a combination of 2nd-level cache and a 
ResultTransformer?  have you noticed any issues in the context of 
NHibernate 4.x?

Thanks,

Tyler

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.

Reply via email to