保存更改时发生以下异常
"类型' System.Data.Entity.Validation.DbEntityValidationException'发生在EntityFramework.dll中,但未在用户代码"
中处理
答案 0 :(得分:1)
实际上,如果在调试期间在Visual Studio中钻入该数组,则应该看到错误。但是您也可以捕获异常,然后将错误写入某些日志存储或控制台。
以下是代码检查哪个字段尚未经过验证的示例。
try
{
// Your code...
context.SaveChanges();
}
catch (DbEntityValidationException e)
{
foreach (var eve in e.EntityValidationErrors)
{
Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
eve.Entry.Entity.GetType().Name, eve.Entry.State);
foreach (var ve in eve.ValidationErrors)
{
Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
ve.PropertyName, ve.ErrorMessage);
}
}
throw;
}
EntityValidationErrors
是一个集合,表示无法成功验证的实体,每个实体的内部集合ValidationErrors
是属性级别的错误列表。
这些验证消息通常足以找到问题的根源。