Hi,

In my RIA Services DomainServer I override Count method so it return
the Count client-side.

public class DomainServiceBase: DomainService
    {
        /// <summary>
        /// Counts the specified query.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="query">The query.</param>
        /// <returns></returns>
        protected override int Count<T>(IQueryable<T> query)
        {
                return query.Count();
        }

        //.... some queries

}

When I apply a filter the expression generated looks like this :

 
{value(NHibernate.Linq.NhQueryable`1[Blc.DevRad.Clouseau.Entities.Debiteur]).Where(Param_0
=> (True AndAlso       (Param_0.DebiteurId.ToLower().Contains("875")
== True)))}

An ArgumentException (An item with the same key has already been
added) is thrown.

StackTrace:
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource
resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue
value, Boolean add)
   at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue
value)
   at
NHibernate.Linq.Visitors.ExpressionParameterVisitor.VisitConstantExpression(ConstantExpression
expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Linq\Visitors
\ExpressionParameterVisitor.cs:line 42
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression
expression)
   at
NHibernate.Linq.Visitors.NhExpressionTreeVisitor.VisitExpression(Expression
expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Linq\Visitors
\NhExpressionTreeVisitor.cs:line 32
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitBinaryExpression(BinaryExpression
expression)
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression
expression)
   at
NHibernate.Linq.Visitors.NhExpressionTreeVisitor.VisitExpression(Expression
expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Linq\Visitors
\NhExpressionTreeVisitor.cs:line 32
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitBinaryExpression(BinaryExpression
expression)
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression
expression)
   at
NHibernate.Linq.Visitors.NhExpressionTreeVisitor.VisitExpression(Expression
expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Linq\Visitors
\NhExpressionTreeVisitor.cs:line 32
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitLambdaExpression(LambdaExpression
expression)
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression
expression)
   at
NHibernate.Linq.Visitors.NhExpressionTreeVisitor.VisitExpression(Expression
expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Linq\Visitors
\NhExpressionTreeVisitor.cs:line 32
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitUnaryExpression(UnaryExpression
expression)
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression
expression)
   at
NHibernate.Linq.Visitors.NhExpressionTreeVisitor.VisitExpression(Expression
expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Linq\Visitors
\NhExpressionTreeVisitor.cs:line 32
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitAndConvert[T](T
expression, String methodName)
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.<>c__DisplayClass1`1.<VisitAndConvert>b__0(T
expression)
   at Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitList[T]
(ReadOnlyCollection`1 list, Func`2 visitMethod)
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitAndConvert[T]
(ReadOnlyCollection`1 expressions, String callerName)
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitMethodCallExpression(MethodCallExpression
expression)
   at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression
expression)
   at
NHibernate.Linq.Visitors.NhExpressionTreeVisitor.VisitExpression(Expression
expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Linq\Visitors
\NhExpressionTreeVisitor.cs:line 32
   at
NHibernate.Linq.Visitors.ExpressionParameterVisitor.Visit(Expression
expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Linq\Visitors
\ExpressionParameterVisitor.cs:line 20
   at NHibernate.Linq.NhLinqExpression..ctor(Expression expression) in
d:\CSharp\NH\nhibernate\src\NHibernate\Linq\NhLinqExpression.cs:line
37
   at NHibernate.Linq.NhQueryProvider.PrepareQuery(Expression
expression, IQuery& query, NhLinqExpression& nhQuery) in d:\CSharp\NH
\nhibernate\src\NHibernate\Linq\NhQueryProvider.cs:line 40
   at NHibernate.Linq.NhQueryProvider.Execute(Expression expression)
in d:\CSharp\NH\nhibernate\src\NHibernate\Linq\NhQueryProvider.cs:line
25
   at NHibernate.Linq.NhQueryProvider.Execute[TResult](Expression
expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Linq
\NhQueryProvider.cs:line 102
   at Remotion.Data.Linq.QueryableBase`1.GetEnumerator()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1
collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at
Blc.DevRad.Clouseau.Silverlight.Web.Services.DomainServiceBase.Count[T]
(IQueryable`1 query) in C:\dev\ClouseauWeb\trunk
\Blc.DevRad.Clouseau.Silverlight.Web\Services
\DomainServiceBase.cs:line 31


Any idea why this is happening ?

-- 
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