I am working on a project in which we're using session.Linq<T>() to do
a variety of searches using Lambda expressions.  We don't even have
nHibernate exposed to our application - we have a service layer with
methods that take Expression<Func<T, bool>> as a parameter which call
session.Linq<T>() with the passed parameter.

We have a large table which was performing very slowly, and our DBA
found the nHibernate was doing a SQL LIKE behind the scenes instead of
using "=" which was a contributor to the slow performance.  The Lambda
expressions that were getting converted to a LIKE were like so:

session.Linq<T>(p => p.Email.Equals(userEmail,
StringComparison.InvariantCultureIgnoreCase));

This leads me to the following questions:

1. What is the preferred way to do a case-insensitive search using
nHibernate.Linq?
2. Is this a bug or a feature?  Are there any plans to change this
behavior in the future?

I think that it would be helpful if in future versions of
nHibernate.Linq, behavior related to case-(in)sensitivity or using SQL
LIKE was more transparent to the developer.

FYI, in the mean-time, we've switched most of our simple queries to
use CreateCriteria().

Regards,
Robert Misiak


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"NHibernate Contrib - Development Group" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com.ar/group/nhcdevs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to