报错: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);

posted @ 2014-03-10 15:52  Darren Ji  阅读(1884)  评论(0编辑  收藏  举报

我的公众号:新语新世界,欢迎关注。