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.