I'm using LINQ to NHibernate and have following query:

        internal List<EmployeeInsurance>
SearchEmployeeInsurance(string insuranceNumberSearch, string
insuranceContractSearch)
        {
            var q = from ei in session.Linq<EmployeeInsurance>()
                    where
                    insuranceContractSearch == null ? true :
CommonHelper.IsSame(ei.InsuranceContract, insuranceContractSearch)
                    select ei;

            if (insuranceNumberSearch != null)
                q = q.Where(ei =>
ei.InsuranceNumber.Contains(insuranceNumberSearch.Trim()));

            if (insuranceContractSearch != null)
                q = q.Where(ei => ei.InsuranceContract.ID.ToString()
== insuranceContractSearch);

            return q.ToList<EmployeeInsurance>();
        }

but when "insuranceContractSearch" is not null, I got
"System.ArgumentOutOfRangeException: Index was out of range. Must be
non-negative and less than the size of the collection.
Parameter name: index" error.

What is wrong?

complete stack trace is:

[ArgumentOutOfRangeException: Index was out of range. Must be non-
negative and less than the size of the collection.
Parameter name: index]
 
System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument
argument, ExceptionResource resource) +64
   System.ThrowHelper.ThrowArgumentOutOfRangeException() +15
   System.SZArrayHelper.get_Item(Int32 index) +7673124
   System.Collections.ObjectModel.ReadOnlyCollection`1.get_Item(Int32
index) +53
 
NHibernate.Linq.Visitors.EntityExpressionVisitor.VisitMethodCall(MethodCallExpression
expr) +62
   NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
+619
 
NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression
exp) +395
 
NHibernate.Linq.Visitors.EntityExpressionVisitor.FindEntity(Expression
expr, Boolean findFirst) +79
 
NHibernate.Linq.Visitors.EntityExpressionVisitor.RootEntity(Expression
expr) +39
 
NHibernate.Linq.Visitors.BinaryCriterionVisitor.VisitMethodCall(MethodCallExpression
expr) +128
   NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
+619
 
NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression
exp) +395
 
NHibernate.Linq.Visitors.BinaryCriterionVisitor.GetBinaryCriteria(ICriteria
rootCriteria, ISession session, BinaryExpression expr,
ComparePropToValue comparePropToValue, ComparePropToProp
comparePropToProp, CompareValueToCriteria compareValueToCriteria,
ComparePropToCriteria comparePropToCriteria) +190
 
NHibernate.Linq.Visitors.WhereArgumentsVisitor.VisitBinaryCriterionExpression(BinaryExpression
expr) +1262
 
NHibernate.Linq.Visitors.WhereArgumentsVisitor.VisitBinary(BinaryExpression
expr) +114
   NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
+229
 
NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression
exp) +395
 
NHibernate.Linq.Visitors.ExpressionVisitor.VisitLambda(LambdaExpression
lambda) +73
   NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
+684
 
NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression
exp) +395
 
NHibernate.Linq.Visitors.WhereArgumentsVisitor.VisitUnary(UnaryExpression
expr) +100
   NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
+164
 
NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression
exp) +395
 
NHibernate.Linq.Visitors.WhereArgumentsVisitor.GetCriterion(ICriteria
rootCriteria, ISession session, Expression expression) +81
 
NHibernate.Linq.Visitors.RootVisitor.HandleWhereCall(MethodCallExpression
call) +95
 
NHibernate.Linq.Visitors.RootVisitor.VisitMethodCall(MethodCallExpression
expr) +651
   NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
+619
 
NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression
exp) +395
 
NHibernate.Linq.Visitors.NHibernateQueryTranslator.TranslateInternal(Expression
expression) +107
 
NHibernate.Linq.Visitors.NHibernateQueryTranslator.Translate(Expression
expression, QueryOptions queryOptions) +65
 
NHibernate.Linq.NHibernateQueryProvider.TranslateExpression(Expression
expression) +454
   NHibernate.Linq.NHibernateQueryProvider.Execute(Expression
expression) +60
   NHibernate.Linq.Query`1.GetEnumerator() +45
   System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
+7665318
   System.Linq.Enumerable.ToList(IEnumerable`1 source) +61

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" 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/group/nhusers?hl=en.

Reply via email to