Calin
Calin

Reputation: 6867

NHibernate Criteria.AddOrder(Order.Asc("Column.Property"))

I have an OrderEntity that has a property OrderStatistics that has a property CreateDate. It looks like Order.OrderStatistics.CreateDate.

I will like to fetch all orders and sort them by CreateDate.

  1. fetchQuery.UnderlyingCriteria.AddOrder(Order.Asc("OrderStatistics.CreateDate")) does not wokr

  2. fetchQuery.UnderlyingCriteria.AddOrder(Order.Asc("CreatorName")) works

    How can I make 1 work ?

Thank you,

Upvotes: 2

Views: 10285

Answers (1)

Firo
Firo

Reputation: 30813

fetchQuery
    .UnderlyingCriteria
    .CreateAlias("OrderStatistics", "stats")
    .AddOrder(Order.Asc("stats.CreateDate"))

Or

OrderStatistic stats = null;
fetchQuery
    .CreateAlias(order => order.OrderStatistics, () => stats)
    .OrderBy(() => stats.CreateDate);

Upvotes: 10

Related Questions