发现EF中字段错误
在使用EF时,报错:
对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性
添加一个验证方法:
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Rongzi.BZone.Functions;
using Rongzi.BZone.Common.Util;
using System.Data.Entity.Validation;
using System.Text;
using System.IO;
namespace Rongzi.BZone.Controllers.Manage
{
public class ManageUserInfoApiController : ApiController
{
RongziBZoneEntities entity = new RongziBZoneEntities();
/// <summary>
/// 后台认证用户
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public ResponseContext EditCustomerInfo(RequestContext<CustomerInfo> req)
{
ResponseContext result = new ResponseContext();
var obj = req.Content;
if (obj == null)
{
result.Head.Ret = -;
result.Head.Code = ErrCode.ParameterError;
return result;
}
CustomerInfo info = entity.CustomerInfo.Where(x => x.IsDeleted == false).Where(x => x.CustomerID==obj.CustomerID).FirstOrDefault();
if (info == null)
{
result.Head.Ret = -;
result.Head.Code = ErrCode.DataIsnotExist;
return result;
}
info.IdentificationState = obj.IdentificationState;
info.IdentificationMemo = obj.IdentificationMemo;
info.IsDeleted = obj.IsDeleted;
info.UpdateUser = obj.UpdateUser;
info.UpdateTime = DateTime.Now;
IsValided<CustomerInfo>(info);
entity.SaveChanges();
return result;
}
public bool IsValided<T>(T model) where T : class
{
DbEntityValidationResult vResult = entity.Entry<T>(model).GetValidationResult();
if (vResult == null) return true;
if (vResult.IsValid) return true;
StringBuilder builder = new StringBuilder();
foreach (DbValidationError item in vResult.ValidationErrors)
{
builder.Append("出错字段:" + item.PropertyName);
builder.Append("<br/>");
builder.Append("错误描述:" + item.ErrorMessage);
builder.Append("<br />");
}
throw new Exception("数据验证失败," + builder.ToString());
return false;
}
#endregion
}
}
这样就可以直接查出那些错,
我这个就是有个字段customerCard字段长度在数据库中由50改成了200,我看ef是string类型,就没有在意,然后就报错,长度不能超过50
这个也可以直接关掉ef的验证
entity.Configuration.ValidateOnSaveEnabled = false;
这样也可以
发现EF中字段错误的更多相关文章
- EF中限制字段显示长度
在EF中有些添加的字段 文本显示超多文字,想截取显示又没有截取功能. 怎么办? 我们可以在EF中类的属性中设置 你想限制这个用户名只能有10个字符长度 public String UserName { ...
- EF中修改对象的值的问题。。。(字段超级多的时候)
一般EF中修改单个对象的值,我是这样处理的. 如:DBEntities db=new DBEntities(); student stu = db.student.firstOrdefault(m=& ...
- 【MM系列】SAP ABAP 编辑字段出现:对象编辑中的错误
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 编辑字段出现: ...
- EF 中 Code First 的数据迁移以及创建视图
写在前面: EF 中 Code First 的数据迁移网上有很多资料,我这份并没什么特别.Code First 创建视图网上也有很多资料,但好像很麻烦,而且亲测好像是无效的方法(可能是我太笨,没搞成功 ...
- EF中的Code First
一些概念 POCO POCO(Plain Old CLR Object)的概念是从java的POJO借用而来,而两者的含义是一致的,不同的仅仅是使用的语言不一样.所以POCO的解释就是“Plai ...
- EF中逆变和协变
EF中的增删改查: 实现步骤: 1.声明一个EF的上下文. bjhksjEntities dbContext = new bjhksjEntities(); 2.声明一个实体. HKSJ_USERS ...
- 关于EF中出现FOREIGNKEY约束可能会导致循环或多重级联路径的问题
ef中,我们创建外键的时候需要注意,否则会出现标题所示问题. 例:有项目表,项目收藏表,用户表 项目表有如下字段:ProjectId,InputPersonId等 项目收藏表有如下字段:Project ...
- 修改MySQL数据库中表和表中字段的编码方式的方法
今天向MySQL数据库中的一张表添加含有中文的数据,可是老是出异常,检查程序并没有发现错误,无奈呀,后来重新检查这张表发现表的编码方式为latin1并且原想可以插入中文的字段的编码方式也是latin1 ...
- Team Foundation 中的错误和事件消息
Visual Studio Team System Team Foundation 中的错误和事件消息 Team Foundation 通过显示错误消息和事件消息来通知您操作成功以及操作失败.一部分错 ...
随机推荐
- PAT天梯赛练习题 L3-002. 堆栈(线段树查询第K大值或主席树)
L3-002. 堆栈 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 大家都知道“堆栈”是一种“先进后出”的线性结构,基本操作有 ...
- 2016.07.08,英语,《Vocabulary Builder》Unit 24
mand/mend comes from mandare, Latin for 'entrust' or 'order'. command and commandment: [kə'mændmənt] ...
- [学习笔记]RAID及实验
RAID: RAID 0 好比只用左手拿了一摞大饼放在那里,相比于只拿一张饼吃,吃的速度会加快.但是万一掉了,就没有了. RAID 1 好比左右手两手一边一个大饼,怎么样都有的吃.但是一只手掉了,还有 ...
- DNS:www.flickr.com
203.84.197.9 203.84.197.25 203.84.197.26 203.84.197.27
- TCP协议中的三次握手和四次挥手(图解)(转载http://blog.csdn.net/whuslei/article/details/6667471)
建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源 ...
- Euler's totient function
https://en.wikipedia.org/wiki/Euler's_totient_function counts the positive integers up to a given in ...
- 【转】C# HttpWebRequest\HttpWebResponse\WebClient发送请求解析json数据
http://blog.csdn.net/kingcruel/article/details/44036871 版权声明:本文为博主原创文章,未经博主允许不得转载. ================= ...
- 坑人的七牛CDN
最近七牛CDN不知道咋啦的,一下子就不行了,提示错误信息如下 "upload image source key fail: unexpected EOF" 找客服提交工单都没有解决 ...
- Linq分组功能
Linq在集合操作上很方便,很多语法都借鉴自sql,但linq的分组却与sql有一定的区别,故整理发布如下. 1. Linq分组 分组后以Key属性访问分组键值. 每一组为一个IEnumberAbl ...
- php读取qqwry.dat ip地址定位文件的类
<?php// +----------------------------------------------------------------------// |// +---------- ...