2011-07-31 21 views
0

私の理解では、リストのように、コレクションをマッピングして、インデックス作成のために列を与えたときにということである。NHibernateの順序付きリストコレクションは、その順序でフェッチされていない

  1. NHibernateのは、そのコレクションの変更中に指定した列内の順序位置を維持コレクションは、その項目をロードされている
  2. は残念ながら、私の経験だけで(1)が動作していることを示して維持順欄

に応じてロードされます。 マッピングは次のとおりです。

  HasMany(x => x.Attachments) 
      .AsList(index => index.Column("OrderInProduct")) 
      .Cascade.AllDeleteOrphan() // Handle cascade upserts 
      ; 

(2)の私の予想は間違っていますか?私のマッピングは間違っていますか?

+0

誰もがここに助けることができますか?あなたの答えを探しています... – Elad

答えて

1

あなたはORDERBY追加することができます。

HasMany(x => x.Attachments) 
      .AsList(index => index.Column("OrderInProduct")) 
      .OrderBy(o => o.Column("OrderInProduct")) 
      .Cascade.AllDeleteOrphan() // Handle cascade upserts 
      ; 
+1

上記のコードはコンパイルされません。「ラムダ式をデリゲート型ではないため 'string'型に変換できません。私はOrderBy( "OrderInProduct")を試しましたが、何にも影響しません( "OrderBy"はバッグ用です) – Elad

関連する問題