Hello
I continue to explore NH 3.0 GA + Remotion - 1.13.85 and WCF data services
I try to use projection in OData
something like
http : //localhost :
2711/TestWcfDataService.svc/TestEntities?$select=Id,FldChar10
and it does not work and generate exception with big stack trace in NH &
remotion code
the same effect i can reproduce with next LINQ query:
//This query works successfully
var l0 = ses.Query<TestEntity>().Select(p => new { p1 = p.Id }).ToList();
//This will generate same exception as WCF Data services
var l1 = ses.Query<TestEntity>().Select(p => new {p1 = (p *as TestEntity*
).Id}).ToList();
I understood that WCD DS generate strange redundant query but .....
Any idea which code responsible for this error and how this situation can be
solved?
error generated:
- <innererror>
<message>([-1] As TestEntity)</message>
<type>System.NotSupportedException</type>
<stacktrace>at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitUnaryExpression(UnaryExpression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\HqlGeneratorExpressionTreeVisitor.cs:line
336 at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\HqlGeneratorExpressionTreeVisitor.cs:line
57 at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitMemberExpression(MemberExpression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\HqlGeneratorExpressionTreeVisitor.cs:line
356 at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\HqlGeneratorExpressionTreeVisitor.cs:line
92 at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitUnaryExpression(UnaryExpression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\HqlGeneratorExpressionTreeVisitor.cs:line
333 at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\HqlGeneratorExpressionTreeVisitor.cs:line
57 at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitUnaryExpression(UnaryExpression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\HqlGeneratorExpressionTreeVisitor.cs:line
333 at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\HqlGeneratorExpressionTreeVisitor.cs:line
57 at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.Visit(Expression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\HqlGeneratorExpressionTreeVisitor.cs:line
33 at
NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(Expression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\SelectClauseVisitor.cs:line 64 at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitMemberAssignment(MemberAssignment
memberAssigment) in
c:\build\Remotion\trunk\Remotion\Data\Linq\Parsing\ExpressionTreeVisitor.cs:line
380 at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitMemberBinding(MemberBinding
memberBinding) in
c:\build\Remotion\trunk\Remotion\Data\Linq\Parsing\ExpressionTreeVisitor.cs:line
366 at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitList[T](ReadOnlyCollection`1
list, Func`2 visitMethod) in
c:\build\Remotion\trunk\Remotion\Data\Linq\Parsing\ExpressionTreeVisitor.cs:line
158 at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitMemberBindingList(ReadOnlyCollection`1
expressions) in
c:\build\Remotion\trunk\Remotion\Data\Linq\Parsing\ExpressionTreeVisitor.cs:line
408 at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitMemberInitExpression(MemberInitExpression
expression) in
c:\build\Remotion\trunk\Remotion\Data\Linq\Parsing\ExpressionTreeVisitor.cs:line
333 at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression
expression) in
c:\build\Remotion\trunk\Remotion\Data\Linq\Parsing\ExpressionTreeVisitor.cs:line
98 at
NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(Expression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\SelectClauseVisitor.cs:line 71 at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitConditionalExpression(ConditionalExpression
expression) in
c:\build\Remotion\trunk\Remotion\Data\Linq\Parsing\ExpressionTreeVisitor.cs:line
236 at
Remotion.Data.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression
expression) in
c:\build\Remotion\trunk\Remotion\Data\Linq\Parsing\ExpressionTreeVisitor.cs:line
81 at
NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(Expression
expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\SelectClauseVisitor.cs:line 71 at
NHibernate.Linq.Visitors.SelectClauseVisitor.Visit(Expression expression) in
D:\NHib3\src\NHibernate\Linq\Visitors\SelectClauseVisitor.cs:line 41 at
NHibernate.Linq.Visitors.QueryModelVisitor.VisitSelectClause(SelectClause
selectClause, QueryModel queryModel) in
D:\NHib3\src\NHibernate\Linq\Visitors\QueryModelVisitor.cs:line 141 at
Remotion.Data.Linq.Clauses.SelectClause.Accept(IQueryModelVisitor visitor,
QueryModel queryModel) in
c:\build\Remotion\trunk\Remotion\Data\Linq\Clauses\SelectClause.cs:line 75
at Remotion.Data.Linq.QueryModelVisitorBase.VisitQueryModel(QueryModel
queryModel) in
c:\build\Remotion\trunk\Remotion\Data\Linq\QueryModelVisitorBase.cs:line 44
at NHibernate.Linq.Visitors.QueryModelVisitor.Visit() in
D:\NHib3\src\NHibernate\Linq\Visitors\QueryModelVisitor.cs:line 96 at
NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel
queryModel, VisitorParameters parameters, Boolean root) in
D:\NHib3\src\NHibernate\Linq\Visitors\QueryModelVisitor.cs:line 49 at
NHibernate.Linq.NhLinqExpression.Translate(ISessionFactoryImplementor
sessionFactory) in D:\NHib3\src\NHibernate\Linq\NhLinqExpression.cs:line 67
at
NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(String
queryIdentifier, IQueryExpression queryExpression, String collectionRole,
Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory)
in D:\NHib3\src\NHibernate\Hql\Ast\ANTLR\ASTQueryTranslatorFactory.cs:line
27 at
NHibernate.Engine.Query.HQLExpressionQueryPlan.CreateTranslators(String
expressionStr, IQueryExpression queryExpression, String collectionRole,
Boolean shallow, IDictionary`2 enabledFilters, ISessionFactoryImplementor
factory) in
D:\NHib3\src\NHibernate\Engine\Query\HQLExpressionQueryPlan.cs:line 34 at
NHibernate.Engine.Query.HQLExpressionQueryPlan..ctor(String expressionStr,
IQueryExpression queryExpression, String collectionRole, Boolean shallow,
IDictionary`2 enabledFilters, ISessionFactoryImplementor factory) in
D:\NHib3\src\NHibernate\Engine\Query\HQLExpressionQueryPlan.cs:line 23 at
NHibernate.Engine.Query.HQLExpressionQueryPlan..ctor(String expressionStr,
IQueryExpression queryExpression, Boolean shallow, IDictionary`2
enabledFilters, ISessionFactoryImplementor factory) in
D:\NHib3\src\NHibernate\Engine\Query\HQLExpressionQueryPlan.cs:line 17 at
NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression
queryExpression, Boolean shallow, IDictionary`2 enabledFilters) in
D:\NHib3\src\NHibernate\Engine\Query\QueryPlanCache.cs:line 88 at
NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression
queryExpression, Boolean shallow) in
D:\NHib3\src\NHibernate\Impl\AbstractSessionImpl.cs:line 302 at
NHibernate.Impl.AbstractSessionImpl.CreateQuery(IQueryExpression
queryExpression) in D:\NHib3\src\NHibernate\Impl\AbstractSessionImpl.cs:line
258 at NHibernate.Linq.NhQueryProvider.PrepareQuery(Expression expression,
IQuery& query, NhLinqExpression& nhQuery) in
D:\NHib3\src\NHibernate\Linq\NhQueryProvider.cs:line 42 at
NHibernate.Linq.NhQueryProvider.Execute(Expression expression) in
D:\NHib3\src\NHibernate\Linq\NhQueryProvider.cs:line 25 at
Remotion.Data.Linq.QueryableBase`1.System.Collections.IEnumerable.GetEnumerator()
in c:\build\Remotion\trunk\Remotion\Data\Linq\QueryableBase.cs:line 133 at
System.Data.Services.Internal.ProjectedWrapper.EnumerableWrapper.System.Collections.IEnumerable.GetEnumerator()
at System.Data.Services.WebUtil.GetRequestEnumerator(IEnumerable
enumerable)</stacktrace>
</innererror>
--
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.