DbEntityValidationException

时间:2016-04-25 15:42:22

标签: c# entity-framework asp.net-mvc-5

我正在尝试从我的视图中的表中删除一条记录(不是我的数据库)......我正在接收:

  

EntityFramework.dll中出现'System.Data.Entity.Validation.DbEntityValidationException'类型的异常,但未在用户代码中处理。

我已经调试过了,DeleteConfirmed Actionresult的记录是正确的,并且所有属性/字段都被填入,没有一个留空。

控制器操作:

[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
    codePerson codePerson = db.codePerson.Find(id);
    codePerson.deleted = true;
    TryUpdateModel(codePerson);
    db.SaveChanges();
    return RedirectToAction("Index");
}

元数据类:

[MetadataType(typeof(MetaDatacodePerson))]
public partial class codePerson
{

}
public class MetaDatacodePerson
{
    public int ID { get; set; }

    [RegularExpression(@"^(\s+)?[\w.\\]+\s\w+\s\w+(\s+)?$", ErrorMessage = "Custom Error Message")]
    public string Name { get; set; }
    public string IBM { get; set; }
    public string CategoryID { get; set; }
    public bool deleted { get; set; }
    public int LocationID { get; set; }
}

为什么在填充codePerson的所有属性时会发生此错误?我的数据库中的所有这些字段都不接受空值,就像我上面所说的......当调试时,这些字段都不为null,或者是emptyspace。

0 个答案:

没有答案