ビジネスエンティティへの更新を永続化する前に、どのプロパティが変更されたかを確認するために検証チェックを実行する必要があります。たとえば、「ステータス」プロパティが特定の値を持つ場合にのみ、特定のフィールドを更新することができます。例えば。 Orderエンティティのステータスがファイナライズされている場合、notes(文字列)フィールドのみを更新できます。 NHibernateを使用してこのようなことが可能か、ビジネスエンティティで自分自身で変更を追跡する必要がありますか?NHibernateを使用して、保持する前に更新されたフィールド(妥当性確認のため)を確認する
答えて
私があなたがしようとしていることを理解していれば、ガブリエルのソリューションはあなたが必要とするものではありません。そうでない場合は、event listenerを試すことができます。これらは、共通のイベント(saveのようなもの)にフックして、NHibernateがsave/insert/update/deleteを終了する前に何らかの処理を行うことを可能にします。また、IInterceptorインタフェースを実装することで、インターセプタを使用する方法もあります。
IPreUpdateEventListenerの独自のカスタム実装を使用することができました。 OnPreUpdate()メソッドには、古い状態と新しい状態を含むPreUpdateEvent型のパラメータが含まれています。これらは、どのプロパティが変更されたかを比較するために比較できます。要求に応じて利用可能なソースコード – teevus
この種のことは確かに可能です。 Coding Instinctは素晴らしい投稿をしていますintroducing NHibernate.Validator。
あなたの答えをありがとう。私は、どのフィールドが変更されたのかを追跡し、それらのフィールドに対して検証ルールを適用することに重点を置いています。私が間違っていれば正解です。 – teevus
- 1. 複数のフィールドの妥当性確認
- 2. 選択フィールドの妥当性確認
- 3. 選択フィールドの妥当性確認
- 4. フィールドに貼り付けられたスクリプトの妥当性確認
- 5. テキストフィールドの妥当性確認
- 6. ログインの妥当性確認
- 7. チェックボックスの妥当性確認
- 8. 妥当性確認のアカウント
- 9. スワッガーの妥当性確認
- 10. フォームフィールドの妥当性確認
- 11. ウェブサイトの妥当性確認
- 12. テキストフィールドの妥当性確認
- 13. パスワードフィールドの妥当性確認
- 14. データの妥当性確認
- 15. ラジオボックスの妥当性確認
- 16. フォーマルの妥当性確認
- 17. フォームグループの妥当性確認
- 18. エラーの妥当性確認
- 19. PHPを使用したhtmlフォームの妥当性確認
- 20. データアノテーションを使用したコレクションの妥当性確認
- 21. jsonを使用してビルドされた選択メニューの妥当性確認
- 22. 妥当性確認symfony 1.4
- 23. MVC非妥当性確認
- 24. URLを介して渡されるパラメータの妥当性確認
- 25. jQuery同じ名前の複数のフィールドの妥当性確認
- 26. サーバーにアップロードされたファイルの妥当性確認
- 27. タッチの妥当性を正確に確認する
- 28. ネストされたセット内のノード移動の妥当性確認
- 29. ラジオボタンがチェックされている場合に妥当性確認
- 30. codeigniterフォームの妥当性確認のためのis_unique
コメントするにはもっと多くの担当者が必要なので、コードを投稿できますか?私の 'OldState'配列は常に空です... – Lodewijk