2011-03-26 16 views
1

私のビジネスドメインでは、特定の親オブジェクトに挿入されるn番目の子オブジェクトで何かする必要があります。例えば、100番、200番、300番の子を挿入した後でビジネス・アクションを実行する必要があります。NHibernate - 子オブジェクトのシーケンス番号

今のところ、最初の子(1つの親オブジェクトの場合)が1、2番目の子が2、...などのように、子の数値フィールドを追加することを考えています。どのようにNHibernateを使用して達成することができますか?または、私の目標を達成するためのよりよい方法があるかもしれません。

お返事ありがとうございました。

敬具 ルカシュ

答えて

1

あなたは<list>としてあなたのコレクションをマッピングすることができます...ので、子どものインデックスが格納されます。

AddChildメソッドを使用して要素を追加すると、n番目の子に到達したときにカスタムロジックを実行できます。

+0

次のマッピング 'HasMany(x => x.Children).AsList(index => index.Column( "Position"))を試したところ、Cascade.All();'問題は、子を挿入した後、その「位置」プロパティは更新されないということです。それを修正することは可能ですか? – GUZ

+0

@ GUZ:インデックスはプロパティにマップされません。それを取得するために 'Children.IndexOf(子)'を使用してください。 –

+0

ありがとうございます - 私はそれが私の問題を解決すると思います:) – GUZ

関連する問題