你的位置:首页 > ASP.net教程

[ASP.net教程]关于在ASP.NET MVC 中使用EF的Code First的方式来读取数据库时的Validation failed for one or more entities. See EntityValidationErrors property for more details.


      今天在做一个小网站的时候遇到很多问题唉,我还是个菜鸟,懂的也不多,今天一个表单的提交按钮用不了,都弄了几个小时唉。不过最后还是搞定了,还有浏览器有开发人员选项,不然我都不知道我还要继续排查多久哦,今天晚上在把数据存入数据库的又出现了问题。我使用的是Entity Framework的Code First模式来访问数据库的。对于数据的验证我在数据模型上加了数据注解。当然在前台也引入了一些JS这样就可以再不把数据提交到服务器时完成验证功能。在后台保存用户提交的数据的时候,我们要用到ModelStatus.IsValid这个属性。就是判断下模型状态是否有效。如果用户所填写的数据都满足数据模型的数据注解中的条件,则ModelStatus.IsValid=true;反之ModelStatus.IsValid=false,当这个ModelStatus.IsValid=true的时候,也就是数据合法,我们就把数据保存到数据库。但是今天我在保存保存数据的时候就遇到了异常。如下图。


       但是我却找不到错误在那里。这句话说的是一个或者多个实体验证失败,详见实体验证错误属性。可是这个实体验证错误如何去找呢。其实我们可以用C#中的tr和Catch来捕获这个异常,我们就知道具体是错在那里了。如下图。

因为VS2015很智能哈。我们把鼠标移动上就可以看见其中的值了。如下图。
 

我们按着提示就可以找到这个错误吧。
因为我还是个菜鸟哈。所以有不对的地方请各位大神指出哈