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 <[email protected]>
> 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 [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
-~----------~----~----~----~------~----~------~--~---