次のような例外をキャッチできる場合: Violation of UNIQUE KEY constraint 'IX_Product'. Cannot insert duplicate key in object 'Product'. (2627)
.
課題は、インデックス名 IX_Product をメンバーとして解読する方法です (つまり、メッセージを部分文字列にしたくありません)。テーブルには複数の一意の制約が存在する可能性があり、より詳細な情報をユーザーに提供するためにどれを知る必要があります。SQL Server 固有ではないため、DbException としてキャッチすることをお勧めします。文字列を解析せずに例外から影響を受けるインデックスを取得する方法はありますか?
私が思いついた唯一の解決策は、ストアド プロシージャを使用してそこにエラーをトラップし、ストアド プロシージャからより詳細なメッセージを返すことです。しかし、これにはまだ問題があると思います。