假设我有一个 SQL 表,其中一列具有唯一键(或其他)约束。
然后,我有一个允许用户编辑此列的应用程序(让我们去 ASP.NET MVC)。
当用户尝试保存并且约束被/将被打破时,我需要向用户显示用户友好的错误消息。因此,以下哪项是更好的做法?
让应用程序查询数据库以确保约束没有被破坏,然后插入/更新行(导致对数据库的两次查询)
或者
立即尝试执行插入/更新,并在约束被破坏时捕获 SqlException。我喜欢这个,因为只有一次访问数据库,但是你应该如何提取哪个索引/约束被破坏并附加适当的消息?(除了检查 Exception.Message?)