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.

Reply via email to