Register where, Alex?

On Tue, May 28, 2013 at 7:31 PM, Alexander I. Zaytsev <[email protected]>wrote:

> Hi Diego,
>
> Probably you need to register usertype for nodatime.
>
> Regards,
> Alex
>
>
> 2013/5/29 Diego Mijelshon <[email protected]>
>
>> session.Query<Foo>().Max(x => x.Date);
>>
>> This is the full code of the method I did not commit in LocalDateFixture:
>>
>>
>>         [Test]
>>         public void ValuesCanBeRetrievedFromLinqQueries()
>>         {
>>             object id;
>>             using (var session = sessionFactory.OpenSession())
>>             using (var tx = session.BeginTransaction())
>>             {
>>                 id = session.Save(new Foo { Date = someDate });
>>                 tx.Commit();
>>             }
>>             using (var session = sessionFactory.OpenSession())
>>             using (var tx = session.BeginTransaction())
>>             {
>>                 var maxDate = session.Query<Foo>().Max(x => x.Date);
>>                 Assert.AreEqual(someDate, maxDate);
>>             }
>>         }
>>
>>
>> Thanks
>> Diego
>>
>>
>> On Mon, May 27, 2013 at 11:13 PM, Alexander I. Zaytsev 
>> <[email protected]>wrote:
>>
>>> Hi Diego,
>>>
>>> Can you please provide a query?
>>>
>>> Regards,
>>> Alexander
>>>
>>>
>>> 2013/5/28 Diego Mijelshon <[email protected]>
>>>
>>>>  Hi guys.
>>>>
>>>> I'm trying to implement some NodaTime mapping support for NH.
>>>> This is in a proof-of-concept state now, but there's already a Nuget
>>>> package, NHibernate.NodaTime. You can check it out.
>>>> Here's one of the first roadblocks I've found: when trying to query
>>>> using LINQ aggregate methods, I run into the following exception:
>>>>
>>>> System.NotSupportedException : Don't currently support idents of type
>>>> LocalDate
>>>>    at NHibernate.Hql.Ast.HqlIdent..ctor(IASTFactory factory, Type type)
>>>>    at NHibernate.Hql.Ast.HqlCast..ctor(IASTFactory factory,
>>>> HqlExpression expression, Type type)
>>>>    at NHibernate.Hql.Ast.HqlTreeBuilder.Cast(HqlExpression expression,
>>>> Type type)
>>>>    at
>>>> NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitNhMax(NhMaxExpression
>>>> expression)
>>>>    at
>>>> NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression
>>>> expression)
>>>>    at
>>>> NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.Visit(Expression
>>>> expression)
>>>>    at
>>>> NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(Expression
>>>> expression)
>>>>    at NHibernate.Linq.Visitors.SelectClauseVisitor.Visit(Expression
>>>> expression)
>>>>    at
>>>> NHibernate.Linq.Visitors.QueryModelVisitor.VisitSelectClause(SelectClause
>>>> selectClause, QueryModel queryModel)
>>>>    at Remotion.Linq.Clauses.SelectClause.Accept(IQueryModelVisitor
>>>> visitor, QueryModel queryModel)
>>>>    at Remotion.Linq.QueryModelVisitorBase.VisitQueryModel(QueryModel
>>>> queryModel)
>>>>    at NHibernate.Linq.Visitors.QueryModelVisitor.Visit()
>>>>    at
>>>> NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel
>>>> queryModel, VisitorParameters parameters, Boolean root)
>>>>    at
>>>> NHibernate.Linq.NhLinqExpression.Translate(ISessionFactoryImplementor
>>>> sessionFactory)
>>>>    at
>>>> NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(String
>>>> queryIdentifier, IQueryExpression queryExpression, String collectionRole,
>>>> Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory)
>>>>    at
>>>> NHibernate.Engine.Query.HQLExpressionQueryPlan.CreateTranslators(String
>>>> expressionStr, IQueryExpression queryExpression, String collectionRole,
>>>> Boolean shallow, IDictionary`2 enabledFilters, ISessionFactoryImplementor
>>>> factory)
>>>>    at NHibernate.Engine.Query.HQLExpressionQueryPlan..ctor(String
>>>> expressionStr, IQueryExpression queryExpression, String collectionRole,
>>>> Boolean shallow, IDictionary`2 enabledFilters, ISessionFactoryImplementor
>>>> factory)
>>>>    at NHibernate.Engine.Query.HQLExpressionQueryPlan..ctor(String
>>>> expressionStr, IQueryExpression queryExpression, Boolean shallow,
>>>> IDictionary`2 enabledFilters, ISessionFactoryImplementor factory)
>>>>    at
>>>> NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression
>>>> queryExpression, Boolean shallow, IDictionary`2 enabledFilters)
>>>>    at
>>>> NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression
>>>> queryExpression, Boolean shallow)
>>>>    at NHibernate.Impl.AbstractSessionImpl.CreateQuery(IQueryExpression
>>>> queryExpression)
>>>>    at NHibernate.Linq.DefaultQueryProvider.PrepareQuery(Expression
>>>> expression, ref IQuery query, ref NhLinqExpression nhQuery)
>>>>    at NHibernate.Linq.DefaultQueryProvider.Execute(Expression
>>>> expression)
>>>>    at NHibernate.Linq.DefaultQueryProvider.Execute(Expression
>>>> expression)
>>>>    at System.Linq.Queryable.Max(IQueryable`1 source, Expression`1
>>>> selector)
>>>>    at [my code]
>>>>
>>>> It looks like the Hql Ast generation fails for anything that is not a
>>>> native type.
>>>> Is there a workaround from the Linq side (generators) or do I have to
>>>> patch the core?
>>>>
>>>> Thanks!
>>>> Diego
>>>>
>>>> --
>>>>
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "nhibernate-development" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>>
>>>>
>>>
>>>  --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "nhibernate-development" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>
>>>
>>
>>  --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nhibernate-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nhibernate-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to