我正在尝试创建一个用户,一切正常,对象正在获取数据但是obj.saveChanges()不起作用

时间:2016-05-09 08:24:09

标签: asp.net asp.net-mvc-4

保存更改时发生以下异常

  

"类型' System.Data.Entity.Validation.DbEntityValidationException'发生在EntityFramework.dll中,但未在用户代码"

中处理

This is the image of my CreateUser Action

1 个答案:

答案 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是属性级别的错误列表。

这些验证消息通常足以找到问题的根源。