c# – SQL唯一键插入

我有一个Users表,它对用户名有唯一约束(出于显而易见的原因).我正在使用EF 4.0 DAL来填充数据库,并在编写CreateUser()方法的过程中.是吗…如果我尝试插入已存在的用户名,最好捕获抛出的SqlException.在我尝试将...

我有一个Users表,它对用户名有唯一约束(出于显而易见的原因).

我正在使用EF 4.0 DAL来填充数据库,并在编写CreateUser()方法的过程中.

是吗…

>如果我尝试插入已存在的用户名,最好捕获抛出的SqlException.
>在我尝试将其插入数据库之前,请明确检查用户名?

如果你也可以说明原因,那就太好了!

解决方法:

我会先检查记录是否存在.唯一的键约束对于防止应用程序首先允许“坏”数据通过的可能方式很有用,但不是主要的停止.在可以避免的情况下,将异常用作控制流机制(在这种情况下为验证)通常是个坏主意.

编辑:为避免混淆,我不是说根本没有唯一的索引.它应该存在,但它不应该是检查唯一性的主要手段.

本文标题为:c# – SQL唯一键插入

基础教程推荐