HasManyとHasManyToManyにそのようなメソッドが存在しますが、何らかの理由でReferencesにそのようなメカニズムがありません。流暢なnhibernateマッピングで参照にwhere節を作る方法
私たちは、新しいバージョンとして更新して保存できる他のオブジェクトを参照するオブジェクトを持っていますが、私たちの子オブジェクトからは、関連オブジェクトの最新バージョンを読み込みたいだけです。マッピングは関連オブジェクトの主キーを使用できません。これは、オブジェクトの各バージョンで変更されるため、関連するオブジェクトをバージョン間で変更されないプロパティにマップし、where句のみを選択するようにしたいからです一致する要素は最高のバージョンです。
だから、私たちのマッピングは、我々はそれぞれの節約のために財産IsLatest(ブールプロパティ)を更新してしまう。もちろん、この
References(p => p.RelatedObjectIdentifier).PropertyRef("MatchingPropIdentifier").Where(p => p.IsLatest).Not.Nullable;
ような何かをしたいと思い、次の
References(p => p.RelatedObjectIdentifier).PropertyRef("MatchingPropIdentifier").Not.Nullable;
のようなものです関連するオブジェクト。
Where(p => p.IsLatest)はクラスマップ/サブクラスマップのReferencesに存在しないので、これを他の方法で行うことができますか?
うーん実装が唯一のクラスマップではなくsubclassmapに適用されること。それと同時に、これは私にとってはうまくいかないでしょう。私はしばしばwhere節が他のオブジェクトを選択しなければならない場合があります。 –
'SubclassMap 'は 'Where()'関数を持っていません。 – kayess