as so often asking the question helps you pinpointing the mistake! crit.Add(Subqueries.PropertyEq("Timestamp", clientsMaxTimestamp))
its PropertyEq, here! 2009/6/19 Jan Limpens <jan.limp...@gmail.com> > Hello! > > I need to get a customers last Order with all it's OrderLines, each line > with it's Article in one go. > > so the generated (ms) sql would be > > WHERE (this_.UserID = '18080') AND (this_.Timestamp = > (SELECT MAX(Timestamp) AS y0_ > FROM Orders AS this_0_ > WHERE (UserID = '18080'))) > > > my criteria for this case currently are... > > var crit = session.CreateCriteria(typeof(Order)) > .SetFetchMode("Lines", FetchMode.Join) > .SetFetchMode("Lines.Article", FetchMode.Join); > crit.Add(Restrictions.Eq("Customer.Id", customerId)); > var clientsMaxTimestamp = DetachedCriteria.For<Order>() > .SetProjection(Projections.Max("Timestamp")) > .Add(Restrictions.Eq("Customer.Id", customerId)); > crit.Add(Subqueries.Eq("Timestamp", clientsMaxTimestamp)); > > but this produces > > SELECT ... > FROM ... > WHERE this_.userid = ? > AND ? = (SELECT *Max*(this_0_.TIMESTAMP) AS y0_ > FROM orders this_0_ > WHERE this_0_.userid = ?) > > Positional parameters: #0>18080 #1>Timestamp #2>18080 > > so the second param (I don't actually want) is "Timestamp", but it is not a > value but a column! > > What is it I am erring here at? > > > -- > Jan > -- Jan --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to nhusers@googlegroups.com To unsubscribe from this group, send email to nhusers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---