使用EF做实例的时候,没有什么错误,可能是照着视频敲的原因吧,最近要使用EF做个小软件,想用EF但是这一个跟一个的错误着实让我们有点应接不暇。不过还好都解决了,小程序完美运行了。
接下来就是总结一下,这次在自己独立使用的过程中的那些错误们。
在配置文件中找不到名为“informationEntities”的连接字符串
这个问题很好理解,就是在我的配置文件app.Config中没有加入连接字符串。这个连接字符串就是在配置文件中连接数据库的那个字符串。建议还是找一个之前能用的EF,copy一下吧,东西有点多。
对一个或者多个实体的验证失败。
出现这个问题的原因就是在给实体赋值的时候,有些不能为空的字段在实体中是空值,检查一下你的实体在哪里没有赋值成功吧。
从ObjectStateEntry中检索数据出错
出现这个问题是因为你数据库中的表没有设置主键,设置好主键后要更新一下edmx文件。查资料看到比较多的回答就是说没有主键的话,EF是不能插入数据的。
更新条目时出错
在插入的代码处使用了异常处理,出错的时候显示的是更新条目时出错。于是就一直查这个问题但是给的回答没怎么看懂,又回头看了看错误信息,原来是插入了重复值。再看输入的数据,才发现我输入的字段中有一个ID是不允许重复的,但是在测试的时候没有改这个ID的值,就出现了这个问题。
总结:
这次使用EF出了好多的错误,但是对于最后一个错误还是有很大的感触的。以前每次想问师傅问题,师傅都问我百度没,当徒弟问我的时候我也会问同样的问题。但是这次出现了这么一个问题(最后一个错误),突然之间就发现自己现在已经养成了一个一出问题就去百度的坏习惯。有百度的意识很好,只是突然感觉现在这种一出问题就百度的状态是在害自己。也许以后当徒弟再问我问题的时候我会这样回答:自己思考了没有,然后才是百度了没有。
写代码,自己的结论可以错,但不能没有。