I thought that would generate title LIKE'%a%'? (instead of LOWER(title) LIKE
'%a%')

On Mon, Jul 27, 2009 at 5:33 PM, Tuna Toksoz <tehl...@gmail.com> wrote:

> var query = from e in db.Employees
> where e.FirstName.Contains("a")
>                                             select e;
>
> this works, regarding to string.contains.
>
> Tuna Toksöz
> Eternal sunshine of the open source mind.
>
> http://devlicio.us/blogs/tuna_toksoz
> http://tunatoksoz.com
> http://twitter.com/tehlike
>
>
>
>
>
> On Mon, Jul 27, 2009 at 10:25 AM, Hendry Luk <hendrym...@gmail.com> wrote:
>
>> I also bumped into this problem (non-case-sensitive String.Contains() is a
>> really common requirement), and still looking for a solution for this..
>> which apparently still produces the same exception in the recent release of
>> NH-Linq. Any idea?
>> Thanks
>>
>>
>> On Tue, May 5, 2009 at 1:24 PM, 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