如何在实体框架6.1中使用duplicate key row with unique index
属性处理[Index(IsUnique = true)]
SqlException?
答案 0 :(得分:4)
所以这是一个快速黑客
try
{
context.SaveChanges();
}
catch (DbUpdateException e)
{
SqlException innerException = null;
Exception tmp = e;
while(innerException == null && tmp!=null)
{
if (tmp != null)
{
innerException = tmp.InnerException as SqlException;
tmp = tmp.InnerException;
}
}
if (innerException != null && innerException.Number == 2601)
{
// handle exception
}
else
{
throw;
}
}
我希望有更好的解决方案......
答案 1 :(得分:0)
您可以覆盖dbContext中的ValidateEntity
并在此处执行逻辑。
我发布了有关如何在CodeProject中执行此操作的通用方法
<强> Validate a Unique Constraint at dbContext ValidateEntity in Entity Framework 强>