NHibernateを使用したカスケード更新で現在永続化されているUserPhotoオブジェクトのコレクションを含むUserオブジェクトがある場合。したがって、ユーザーオブジェクトを保存すると、すべてのUserPhotoも保存されます。
ユーザーオブジェクト階層全体を保存せずに、UserPhotoを保存するだけで新しいUserPhotoをアップロードする方法はありますか?
私が試してみました
userPhoto.User = user; // to set the parent object which will provide the UserPhoto with the correct UserId when saving it
session.Save(userPhoto);
これにより、正しいUserIdを使用してDBの行が正常に保存されますが、
session.Get<User>(userId)
新しい写真は含まれていません。コードの早い段階でユーザーオブジェクトを取得したときにNHibernateが最初にユーザーオブジェクトをキャッシュしていると推測します。次に、DBレベルでユーザー写真を追加しますが、NHibernateキャッシュには、新しい写真を参照しない以前のユーザーオブジェクトがまだ含まれています。新しい写真を追加した後、そのユーザーオブジェクトのNHibernateキャッシュを更新する必要があります。これは正しいですか、どうすれば更新できますか?NHibernateを正しく使用していますか?
ありがとう