ContentPage
という2つのオブジェクトがあります。コレクションはChildLinks
です。キャッシュされたコレクションがNhibernateによって無効にされていない
ContentPage
-----------
ID
Title
ChildLink
----------
ID
ParentPageID [ContentPage]
ChildPageID [ContentPage]
Priority
ContentPage.ChildLinks
プロパティは第2レベルのキャッシュを使用します。私はFluent NHを使用してNhibernateを構成し、Nhibernate 3.1を使用しています。キャッシュは、コレクションと 'ChildLink'クラスの両方に対して「読み取り - 書き込み」として設定されます。
私はChildLink
を削除するたびにコレクションキャッシュが無効化されていないことに気付きました。私はContentPage.ChildLinks
を呼び出すときにこのように、私はエラーを取得する:
no row with the given identifier exists
私はキャッシュをオフにしてきた、それがうまく動作します。キャッシュを自動的に無効にしてはいけませんか?キャッシュプロバイダとしてSysCache、データベースとしてMySQLを使用しています。
ありがとうございます!
Inverse Mapped Collections and NHibernate's Second-Level Cache
を基本的に、あなたはまた、あなたが子アイテムを削除すると、逆としてあなたのコレクションをマッピングした場合:私は同じ問題を抱えていたと私は私の問題を解決し、次の資料を越えでき
このカールの詳細については、あなたができました:子オブジェクトを削除するときに
とを。 2番目のレベルのキャッシュを持つFNHを見て(AppFabricに)。 –