对于这个错误,要在SaveChanges前关闭验证实体有效性(ValidateOnSaveEnabled)这个开关 db.Configuration.ValidateOnSaveEnabled = false;//关闭验证 db.SaveChanges(); db.Configuration.ValidateOnSaveEnabled = true;//保存完之后再开启 或者,在创建EF上下文对象的时候,在线程中共享一个上下文对象 public DbContext GetDbContext()…
使用asp.net+EF5.0练习的时候,遇到这样一个问题: 对一个或多个实体的验证失败.有关详细信息,请参见“EntityValidationErrors”属性 但是感到很疑惑,去百度,说是关闭EF验证,即可 修改: SaveChanges前先关闭验证实体有效性(ValidateOnSaveEnabled)这个开关 可以在 Controller层这样关闭 db.Configuration.ValidateOnSaveEnabled = false; int count = db.SaveCha…
对一个或多个实体的验证失败.有关详细信息,请参阅“EntityValidationErrors”属性. 问题原因可能是: 1. 非空列未插入值错误 2. 多个表间外键列长度不一样 3. ef上下文对象db为空 4. ef上下文设置属性为 db.Configuration.ValidateOnSaveEnabled = false; 5. 内容长度超过列最大长度 6.解决方案里后来新增了类库但未更新 7.添加引用using System.Data.Validation; 我的错误原因: 项目发布到…
问题原因: 1.非空列未插入值错误 2.内容长度超过列最大长度(超过数据库设置长度,或者自定义长度“[StringLength(50, MinimumLength = 6, ErrorMessage = "请输入{2}到{1}位的{0}")]”) 注意:很有可能是 空格充当占位符 导致 长度超出限制!!   3.ef上下文对象db为空 4.ef上下文设置属性为 db.Configuration.ValidateOnSaveEnabled = false; 5.多个表间外键列长度不一样…
return Db.SaveChanges()>0; return CurrentDBSession.SaveChanges(); RoleInfoService.EditEntity(roleInfo); 虽然一脸懵逼,但是大概可以确定是数据保存的时候出错. 使用try...catch捕获一下 try { return Db.SaveChanges() > 0; } catch (Exception ee) { throw; } 查看数据库,果然是必须的. over!…
EntityValidationErrors   关于如何查看 EntityValidationErrors 详细信息的解决方法 我们在 EF 的编程中,有时候会遇到这样一个错误: 但是,按照他的提示 “See 'EntityValidationErrors' property for more details.” 去 Exception 中查看,却只能看到 并不能看到具体的是那个属性为什么验证不通过,也许不少人都遇到这种情况. 这里给大家介绍一个Exception类,让我们能够轻松的知道具体的…
这个问题相信只要是做MVC的,都碰到过,也都知道错误的原因,就是触发了定义的实例字段校验规则.比如定义的不为空,但是为空了,或者定义的字段长度为50,但是超过50了. 可是有时虽然知道是这样,但是具体问题解决的时候还是无从下手.我最近就碰到一个,知道是在更新某个表的时候出现的这个问题.可是在本地无法具现此错误,这个错误是在特定条件发生的,我并不知道此特定发生条件是什么,很郁闷. 在网上找了下,知道发生这个错误会触发DbEntityValidationException异常,这个异常会有详细的异常…
自定义异常类:FormattedDbEntityValidationException public class FormattedDbEntityValidationException : Exception { public FormattedDbEntityValidationException(DbEntityValidationException innerException) : base(null, innerException) { } public override strin…
public UserInfo Create(UserInfo entity) { try { context.UserInfoes.Add(entity); context.SaveChanges(); } catch (Exception ex) { throw; } return entity; } 从局部变量框中找EntityValidationErrors--ValidationErrors中的第一个元素--ErrorMessage属性,查看错误原因 就是加Try Catch查找错误原…
错误提示: 解决方法: →使用try...catch捕获→在catch所在行打上断点,运行,对ex添加监视或者运行到ex的时候  按Shift+f9天假快速监视→在EntityValidationErrors--ValidationErrors中的第一个元素--ErrorMessage属性,发现错误原因 PS:直接查看异常详细信息是看不到具体错误的   所以只有通过这种办法. 网上有的说是添加一个更具体的类 DbEntityValidationException来查操作,其实最终也是在监视中看到…