Entity framework在验证未通过的时候默认不会抛出详细异常,这给我们debug带来很大的困难,不过我们可以手动捕获,见代码:
private int Update(Employee entity)
{
string error = string.Empty;
using (NorthwindEntities ctx = new NorthwindEntities())
{
try
{
//ctx.Employees.Attach(entity);
ctx.Entry(entity).State = System.Data.EntityState.Modified;
return ctx.SaveChanges();
}
catch (DbEntityValidationException ex)
{
foreach (var item in ex.EntityValidationErrors)
{
foreach (var item2 in item.ValidationErrors)
{
error = string.Format("{0}:{1}\r\n", item2.PropertyName, item2.ErrorMessage);
}
}
}
}
return 1;
}
本文介绍了一种在EntityFramework中捕获验证失败异常的方法,并提供了具体的代码实现。当使用EF进行数据更新操作时,如果验证未通过,默认情况下不会抛出详细的异常信息。本文展示了一段C#代码,通过该代码可以捕获到这些验证错误并将其输出。
384

被折叠的 条评论
为什么被折叠?



