クライアント側の検証やモデル バインディングに関する回答には興味がありません。実際、この質問は MVC 以外のデータ アクセス クラス ライブラリにも当てはまりますが、問題は似ていると思います。
現在、エンティティ (モデル) でのデータ アクセスにリポジトリ パターンを使用しています。現在、リポジトリはすべての CRUD 操作を処理していますが、検証を行うためにモデルが自分自身を保存する責任があると思います。これをどのように処理すればよいですか?
リポジトリがモデルを保存する前にすべてのビジネス ロジックを実行できる IsValid メソッドをモデルに追加できますが、リポジトリがこの検証ロジックを呼び出すことを強制するものはありません。
モデルに Save メソッドを持たせたい場合、モデルが自分自身を保存する適切な方法は何ですか? リポジトリにコールバックするべきではありませんか?
これをどのように処理すべきかについて何か考えはありますか?
ありがとう!