私のドメインモデルの変更を追跡したい。私はNHibernateのSessionがUnitOfWorkパターンの実装であることを知っているので、この変更を追跡します。 Commit()やFlush()の前など、それらを引き出す方法はありますか?NHibernateセッションからエンティティの変更されたフィールドのリストを取得
2
A
答えて
1
NHibernateのIInterceptorを見てください。
OnFlushDirty - 更新されたオブジェクトの永続プロパティを表示します。
OnSave - 保存されたオブジェクトに永続プロパティが表示されます。
このインターフェイスを実装するインターセプタクラスを作成するだけで、NHibernateセッションを設定するときにそのクラスを使用するように指示するだけです。
1
私はインターセプタは少し時代遅れよりもだと思います。 NHibernateイベントを使用している。私はOnPreUpdateイベントを購読しました。パラメータにStateプロパティとOldStateプロパティがありますが、OldStateは常にnullです。誰でもこのOldStateが全く動くのを知っていますか?
関連する問題
- 1. NHibernate IStatelessSessionまたはISessionからすべてのマップされたエンティティのリストを取得できますか?
- 2. ChangeSetのChangeSetEntryから変更されたフィールドのリスト?
- 3. LINQ2SQLエンティティ - 変更されたフィールドのみを更新する
- 4. JPA NamedQueryが変更されたエンティティへの変更を取得しない
- 5. 変更されたファイルのリストをJGitのコミットから取得する
- 6. エンティティが変更されなかった場合のNHibernateの更新版
- 7. Entity Framework 7内の変更されたオブジェクトのリストを取得
- 8. NHibernate:開かれたすべてのセッションを取得する
- 9. Hibernate Envers - 変更されたフィールドの取得
- 10. djangoでinlineformsetの更新されたフィールドのリストを取得する方法
- 11. 変更前のエンティティを取得
- 12. NHibernate Profiler - キャッシュされたエンティティ
- 13. エンティティ・フレームワーク:ObjectContext生成されたSQL変更スクリプトを取得しますか?
- 14. NHibernateエンティティの一時的な変更
- 15. エンティティ/オブジェクトからNHibernateマッピング情報を取得する方法
- 16. Visual Source Safeからのコード変更のリストを取得
- 17. CRM-親エンティティからすべての関連エンティティのフィールドを取得
- 18. (MockEJB)インコンテナテストからモックされたエンティティBeanを取得する
- 19. Datomicエンティティからすべてのフィールドを取得
- 20. Perlの変更日でソートされたファイルのリストを取得する
- 21. Jquery入力フィールドの変更された値を取得できません
- 22. php.iniからセッション変数名を取得するためのPHP
- 23. ネストされたオブジェクトから値の異なるリストを取得
- 24. Page.HeaderからインクルードされたCSSファイルのリストを取得
- 25. NHibernate with Ajax、デタッチされたエンティティを更新する
- 26. セッションで更新されたレコードを取得
- 27. セッションから特定の情報を取得する方法リスト
- 28. LinqToSql - ネストされたリストから別のIDのリストを取得する
- 29. インストールされたDBMSのリストを取得
- 30. メインリポジトリからプルする前に変更されたファイルのリストを取得するには?
'session.Merge(yourUnsavedObject)を呼び出すと、NHibernateは最初にエンティティを読み込み、保存されていないオブジェクトから変更を適用します。そのプロセスはOldValuesに値を設定します。これはバージョン3.1を使用しています。以前のバージョンではSaveOrUpdateCopy()が使用されていたと思います。 –