我正在建立一个数据库,并且有几个表在创建/更新行之前需要检查许多行间依赖关系。有许多字段具有来自许多来源的 max/min/avg/stdev。
我想我会创建一些约束来确保所有关系的 max>=min, avg>=min, avg<=max, stdev>=0。这样我在数据库中设置它并且任何不正确地接触数据的东西都会引发错误。这种机制工作得很好......除了错误消息从用户的角度来看是可怕的事实,基本上是说约束失败并让用户确定20个约束中的哪一个是坏的。
我可以在客户端代码中通过查看约束异常然后运行数据来查找问题来解决此问题。该解决方案在两个地方进行了验证......
我不能希望将错误消息分配给每个约束(在数据库中)并通过异常机制将该消息过滤到 UI。是否有某种机制可以让用户友好的消息渗透到 UI 而无需在业务逻辑中复制数据验证?更重要的是,这类问题的基本策略是什么?