NHibernateでは、すでにセッションキャッシュにあるデータでオブジェクトコレクションを初期化できますか?

オブジェクトAにオブジェクトBのコレクションが含まれているとしましょう。オブジェクトBは1対多であるとしましょう(オブジェクトBは1つのオブジェクトAにのみ属しています)

何らかの理由ですでにセッションキャッシュにすべての異なるオブジェクトBがあるとします。

今私が行って、データベースからオブジェクトAを取得した場合(オブジェクトBの非初期化コレクションを持つオブジェクトAを与える)、セッションキャッシュに入り、オブジェクトBに属するすべてのオブジェクトBを見つけることができます。このオブジェクトAは、オブジェクトAI内のオブジェクトBのコレクションを初期化しましたか?

コレクションを初期化することで、私はそれを使用しようとすると、それ以上データベースにクエリを送信する必要はないということです。

私はNhibernate 3.2を使用しています。

ありがとう!

0

1 答え

短い答え:いいえ。そのようには機能しません。

1
追加された
ありがとう、ありがとう。もう一度Diego、あなたは私にいくつかの時間とトラブルを救った!
追加された 著者 Isaac Bolinger,
@TedOnTheNet - あなたのソリューションについて聞いても大丈夫ですが、私はあなたの取り消しのものにも興味があります。現在、ユーザーが変更を元に戻す必要がある場合は、データベースからリロードするだけです。
追加された 著者 Isaac Bolinger,
@TedOnTheNet私はあなたのソリューションに興味があります。答えを加えたいですか?
追加された 著者 Diego Mijelshon,
この答えは全く真実ではありません。これは非常に簡単に行うことができますが、NHibernateの望んでいることではありません。しかし、あなたがまだこれを必要としている奇妙な理由があったら、私はあなたにどのように伝えることができます。セッションキャッシュを使用すると、クエリを再実行する必要なく、元に戻す機能を構築することもできました。データベースバージョンを元に戻すことができます。また、編集前に元のデータに元に戻すこともできます。
追加された 著者 TedOnTheNet,