问题:
在给某一个表添加或修改数据后,调用SaveChanges() 报如下错误:
1、Entity Framework 对一个或多个实体的验证失败。有关详细信息,请参阅EntityValidationErrors属性
2、System.Data.EntityException类型的异常在 System.Data.Entity.dll 中发生,但未在用户代码中进行处理
解决方法:
关闭验证,让内部异常直接暴露出来,以下提供两种关闭方式:
一、在执行SaveChanges()前关闭验证
o.tb_bill.Add(item);
//关闭验证
o.Configuration.ValidateOnSaveEnabled = false;
//保存新增
o.SaveChanges();
//开启验证
o.Configuration.ValidateOnSaveEnabled = true;
闭验证后,内部异常暴露出来,如示例的提示billno的字段的值不能为null值。
实际问题:前端form获取值为空,发现字段中缺少name属性
var date = $("#form").serializeArray();
var obj = {};
$.each(date, function (a, b) {
obj[b.name] = b.value;
})
var jsons = JSON.stringify(obj);