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.
