列の1つに一意キー(または他の)制約があるSQLテーブルがあるとします。
次に、ユーザーがこの列を編集できるようにするアプリケーション(ASP.NET MVCを使用します)があります。
ユーザーが保存しようとして、制約が破られる/破られる場合は、ユーザーにわかりやすいエラーメッセージを表示する必要があります。そのため、次のうちどれがより良い習慣ですか?
アプリケーションにデータベースにクエリを実行させて、制約が破られていないことを確認してから、行を挿入/更新します(データベースへのクエリが2つ発生します)
また
すぐに挿入/更新の実行を試み、制約が破られた場合はSqlExceptionをキャッチします。データベースへのアクセスが1回しかないため、これが好きですが、どのインデックス/制約が壊れているかをどのように抽出し、適切なメッセージを添付する必要がありますか?(Exception.Messageの検査は別として?)