数据库 – 我应该检查代码中的DB约束,还是应该捕获由DB抛出的异
发布时间:2020-12-12 16:41:10 所属栏目:MsSql教程 来源:网络整理
导读:我有一个应用程序将数据保存到名为Jobs的表中.作业表有一个名为Name的列,它有一个UNIQUE约束.名称列不是PRIMARY KEY.我想知道在尝试保存/更新新条目之前,我是否应该检查重复的条目,或者最好等待数据访问层抛出的异常.如果这个应用程序很重要,我正在使用NHiber
我有一个应用程序将数据保存到名为Jobs的表中.作业表有一个名为Name的列,它有一个UNIQUE约束.名称列不是PRIMARY KEY.我想知道在尝试保存/更新新条目之前,我是否应该检查重复的条目,或者最好等待数据访问层抛出的异常.如果这个应用程序很重要,我正在使用NHibernate
感谢大家的伟大投入. 我已经找到一个原因,为什么我应该在代码中验证,而不仅仅是等待抛出异常(并被我的代码捕获).似乎NHibernate只会抛出一个NHibernate.Exceptions.GenericADOException,这在这种情况下不是异常的原因.还是我在这里缺少NHibernate的一个方面? 解决方法答案是:两者.如果您的数据库具有约束条件,则可以保证数据的某些不变量,例如唯一性.这有几种方式: >如果你有一个bug 除了最简单的情况,应用程序和数据库生活在M:M关系中.应用程序仍应具有适当的数据和业务规则验证,但您仍然不应该将应用程序计划为数据的唯一客户.在数据仓库工作几年,您将看到人们以这种心态设计的应用程序的效果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |