ビュー フィールドの値がエンティティ セット内で一意であることを検証するための最良の方法は何だろうと思っています。永続化レイヤーの更新前または更新後ですか? 関連する db フィールドには一意の制約があり、そのテーブルは EF モデルにマップされます。エンティティセットで一意の値を検証するには、次の 2 つの方法があります。
- 変更を db に保存する前(モデルの更新中、またはカスタム DataAnnotations でモデルを装飾することによって)
- 変更を db に保存した後(永続層によって生成された UpdateException をリポジトリまたはコントローラーで処理することにより)
最初の方法では、一意性を確認するためにデータベースにクエリを実行する必要があるため、ビューの更新にはデータベースの選択とデータベースの更新の両方が必要になります。
2 番目の方法では、追加の選択は必要ありませんが、エラーの種類と問題のあるフィールドを特定することは困難です。
私は方法 2 を好みますが、一意の制約が原因で挿入/更新が失敗したかどうかを判断する問題により、方法 1 を選択せざるを得なくなりました。
それとも別の方法がありますか?