I mean create a IUserType to handle NodaTime and register it in mapping. Regards, Alex
2013/5/29 Diego Mijelshon <[email protected]> > 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. > > > -- --- 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.
