最近项目开始上线,所以抽时间学习了一下EF。虽然项目中一直在用,但是因为一些原因,一直是知其然不知其所以然,紧紧只限于会用而已。这两天自己搭建了一个MVC的EF框架,虽然也有参考网上各种资料,但是依然不是很顺路。
所以就遇上了题目的问题,在写入数据库的时候报错: 基础提供程序在 Open 上失败 !SaveChanges 的时候出错!
users user = new users(); TryUpdateModel(user); //将实体以基础数据添加到集的基础上下级 db.users.Add(user); //保存到数据库 if (db.SaveChanges() > 0) { return JavaScript("alert('保存成功')"); }
大致一看肯定是链接数据库的问题,但是 链接数据库的配置都的自己生产的啊~网上百度了一下 ,遇到该问题的还真不少,解决方案也是大同小异。后来对号入座了一下,应该是链接数据库的字符串有问题
<add name="TestDbCon" connectionString="metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.ssdl|res://*/Models.MyModel.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.30.120;initial catalog=TestDb;persist security info=True;user id=sa;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /></connectionStrings>
这是自动生成的.config 里的代码,仔细看 有用户名没有密码,后来加上 数据库的 密码就正确了!