报错:System.Data.Entity.Infrastructure.DbUpdateException 更新条目时出错

背景

往数据库添加数据,前端验证通过的情况下,提交报错,程序停在了SaveChanges()这行,并报如上错误。

分析

猜想是提交的领域模型不符合数据库要求,但不知道具体哪里出错。网上查资料,有人发现这是"某些字段为空"而引起的错误。每个人面对的场景不一样,打断点调试,发现有一个属性的长度超出了数据库的要求。

出错的语句: 
userInfo.LoginPwd = EncryptHelper.GetMd5(userInfo.LoginPwd).Substring(10); 
本来是想对加密后的字符串截取前10位,却变成了从第10位开始截取,导致超出了数据库字段长度的上限。

修改如下: 
userInfo.LoginPwd = EncryptHelper.GetMd5(userInfo.LoginPwd).Substring(0, 10);

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。