Please add a JIRA ticket with the LINQ causing the problem.
http://216.121.112.228/browse/NH

<http://216.121.112.228/browse/NH>With some classes and mapping to recreate
the issue a NH's committer will spent his time only in the fix.
Thanks.

On Tue, Dec 14, 2010 at 1:47 PM, Alexander Kot <[email protected]>wrote:

> 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]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>



-- 
Fabio Maulo

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