Just ignore my previous email.. StringComparison.CurrentCultureIgnoreCase
doesnt work either. It was just because my database was configured to be
case-insensitive for LIKE. Sorry for the noise.

On Mon, Jul 27, 2009 at 6:07 PM, Hendry Luk <hendrym...@gmail.com> wrote:

> Quite weirdly, this doesnt work too:
> u.EmailAddress.Equals(emailAddress,
> StringComparison.CurrentCultureIgnoreCase))
>
> .. even though StringComparison.CurrentCultureIgnoreCase works perfectly
> with both StartsWith() and EndsWith() .
>
> And unfortunately, String.Contains() doesn't have overload that accepts
> StringComparison parameter.
>
> Cheers
>
>
> On Mon, Jul 27, 2009 at 6:01 PM, Hendry Luk <hendrym...@gmail.com> wrote:
>
>> Sorry, no joy.. Still exact same exception..
>>
>> Cheers
>>
>>
>> On Mon, Jul 27, 2009 at 5:35 PM, Tuna Toksoz <tehl...@gmail.com> wrote:
>>
>>> can you retry your query like this:
>>>
>>> string emailAddress=his.EmailAddress.ToLower();
>>> from u in session.Linq<User>()
>>> where u.EmailAddress.ToLower() == emailAddress
>>> select u;
>>>
>>> Tuna Toksöz
>>> Eternal sunshine of the open source mind.
>>>
>>> http://devlicio.us/blogs/tuna_toksoz
>>> http://tunatoksoz.com
>>> http://twitter.com/tehlike
>>>
>>>
>>>
>>>
>>> On Tue, May 5, 2009 at 6:24 AM, Bryan Murphy <bmurphy1...@gmail.com>wrote:
>>>
>>>>
>>>> We're using Postgres and NHibernate 1.2, but are planning a migration
>>>> to 2.0.x or 2.1.x soon.  In one of my experiments, I'm trying to get a
>>>> query to use the following index:
>>>>
>>>> CREATE INDEX users__index__username ON users(LOWER(username));
>>>>
>>>> We haven't had any problems using these indexes with HQL, but we're
>>>> experimenting with Linq 2 SQL.  I can't figure out how to get
>>>> NHibernate to call the database LOWER() function when writing a Linq
>>>> query.  Am I missing something?
>>>>
>>>> The query looks like this:
>>>>
>>>> from u in session.Linq<User>()
>>>> where u.EmailAddress.ToLower() == this.EmailAddress.ToLower()
>>>> select u;
>>>>
>>>> And the exception I'm getting (v2.1.0alpha2) is:
>>>>
>>>> Unhandled Exception: System.ArgumentOutOfRangeException: Index was out
>>>> of range. Must be non-negative and less than the size of the
>>>> collection.
>>>> Parameter name: index
>>>>   at
>>>> System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument
>>>> argument, ExceptionResource resource)
>>>>   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
>>>>   at System.SZArrayHelper.get_Item[T](Int32 index)
>>>>   at System.Collections.ObjectModel.ReadOnlyCollection`1.get_Item(Int32
>>>> index)
>>>>   at
>>>> NHibernate.Linq.Visitors.EntityExpressionVisitor.VisitMethodCall(MethodCallExpression
>>>> expr)
>>>>   at NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.EntityExpressionVisitor.FindEntity(Expression
>>>> expr, Boolean findFirst)
>>>>   at
>>>> NHibernate.Linq.Visitors.EntityExpressionVisitor.RootEntity(Expression
>>>> expr)
>>>>   at
>>>> NHibernate.Linq.Visitors.BinaryCriterionVisitor.VisitMethodCall(MethodCallExpression
>>>> expr)
>>>>   at NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.BinaryCriterionVisitor.GetBinaryCriteria(ICriteria
>>>> rootCriteria, ISession session, BinaryExpression expr,
>>>> ComparePropToValue comp
>>>> arePropToValue, ComparePropToProp comparePropToProp,
>>>> CompareValueToCriteria compareValueToCriteria, ComparePropToCriteria
>>>> comparePropToCriteria)
>>>>   at
>>>> NHibernate.Linq.Visitors.WhereArgumentsVisitor.VisitBinaryCriterionExpression(BinaryExpression
>>>> expr)
>>>>   at
>>>> NHibernate.Linq.Visitors.WhereArgumentsVisitor.VisitBinary(BinaryExpression
>>>> expr)
>>>>   at NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.ExpressionVisitor.VisitLambda(LambdaExpression
>>>> lambda)
>>>>   at NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.WhereArgumentsVisitor.VisitUnary(UnaryExpression
>>>> expr)
>>>>   at NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.WhereArgumentsVisitor.GetCriterion(ICriteria
>>>> rootCriteria, ISession session, Expression expression)
>>>>   at
>>>> NHibernate.Linq.Visitors.RootVisitor.HandleWhereCall(MethodCallExpression
>>>> call)
>>>>   at
>>>> NHibernate.Linq.Visitors.RootVisitor.VisitMethodCall(MethodCallExpression
>>>> expr)
>>>>   at NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression exp)
>>>>   at
>>>> NHibernate.Linq.Visitors.NHibernateQueryTranslator.Translate(Expression
>>>> expression, QueryOptions queryOptions)
>>>>   at NHibernate.Linq.NHibernateQueryProvider.Execute(Expression
>>>> expression)
>>>>   at
>>>> NHibernate.Linq.Query`1.System.Collections.IEnumerable.GetEnumerator()
>>>>
>>>> Thanks,
>>>> Bryan
>>>>
>>>>
>>>>
>>>
>>> >>>
>>>
>>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to nhusers@googlegroups.com
To unsubscribe from this group, send email to 
nhusers+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to