2012-02-28 24 views
0

Fluent Nhibernateを使用するために古いコードを変換しようとしています。サブコレクションのレコード数順に並べ替え

旧コード:私はのようなものに変換するにはどうすればよい

allOrders.OrderBy(x => x.OrdersLineItems.Count); 

query.AddOrder(new Order(????, true)); 

も可能、このですか?事前に

おかげ

UPDATE:ここに は、私が記述しようとしています単純化されたコードです:

ICriteria query = FluentSessionManager.GetSession().CreateCriteria<Orders>() 
    .AddOrder(new Order(????, true)); 

結合テーブルがOrdersLineItemsです。広告申込情報の数でオーダーを設定する必要があります。私は500,000を超えるレコードを持つデータセットでページングを使用しているので、すべてのレコードをメモリに格納して並べ替えるだけです。

ありがとうございます。

+0

すでにここに回答しています。http://stackoverflow.com/a/6845746/671619およびhttp://stackoverflow.com/a/253999/671619 – Firo

答えて

0
ICriteria query = FluentSessionManager.GetSession().CreateCriteria<Orders>() 
    .CreateAlias("this.OrderLineItems", "oli") 
    .AddOrder(new Order(Projections.Count("oli.Id"), true)); 

私は考えるべきことのようなものです。おそらく完璧ではありませんが、Projections.Countを使用して完成させる必要があることを少なくとも示しています。

+0

チャンピオンのように動作します。どうもありがとうございました。 –

関連する問題