代码改变世界

EF报错“EntityValidationErrors”

2014-01-01 18:38  左眼微笑右眼泪  阅读(630)  评论(0编辑  收藏  举报

      在使用EF更新实体的时候报错,显示界面如下:

image

      点击查看详情:

image

       在查看详细的窗体中,EntityValidationErrors里面的也看不到具体的错误原因。在网上找到一种解决的办法,使用DbEntityValidationException类,捕获这个异常,在这个异常的详细信息里面就可以看到具体的错误信息。添加代码如下:

image

       在运行时,会捕获这个异常,然后从这个异常的详细信息中,可以看到具体的报错信息,如:

image

       从这个里面,可以清晰的看到,错误的原因是一个Description字段不能为空。回去一检查,果然发现更新的时候,这个字段为空,但实际要求的是不为空。所以在这个地方只要给这个字段赋一个值,这个错误就解决了。以后碰到类似于这样的错误,都可以通过这个方法找到真正的错误原因。

       参考网址:http://www.cnblogs.com/yhyjy/archive/2013/04/26/3044254.html