分类:
学习中的问题
在学校图书馆的电脑上安装VS2013和SQL R2后,
调试项目报错:基础提供程序在 Open 上失败
怀疑是数据库的问题,然后删除数据库模型后
新建数据库模型,提示以下 错误。
发现是SQL安装时,服务器名是DESKTOP-TRRPA6E\SQLEXPRESS,不是“.”,改为相同即可。
成功新建数据库模型后,发现Model1.tt中并没有生成实体,
同时Model1.Context,cs里只有一串报错的英文,如下图所示
在Model1.edmx中又有数据库中的表的结构:
然后怀疑是数据库模型添加错误的原因,故又重新添加,添加时查看了表,是没有异常的
添加成功后并重新生成解决方案后问题并没有解决,接下来就怀疑是Web.config配置中,数据库连接错误的原因,
但将配置文件中连接数据库的代码修改后,
<connectionStrings> <add name="HMRAEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=DESKTOP-TRRPA6E\SQLEXPRESS;initial catalog=HMRA;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> <add name="HMRAEntities1" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=DESKTOP-TRRPA6E\SQLEXPRESS;initial catalog=HMRA;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> <add name="HMRAEntities2" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=DESKTOP-TRRPA6E\SQLEXPRESS;initial catalog=HMRA;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> </connectionStrings>
问题依旧。之后发现是在添加数据库模型时,没有选择EF生成器。
解决方法:
在Model1.edmx中,右击——选择添加代码生成项
选择C#——EF.5X生成器
再将名称修改为:Model1.tt
替换掉原来的Model1.tt
然后问题就完美解决了。
Model1.Context,cs中代码生成了,
Model1.tt中的实体也有了。
第一次写,不足之处还望多多指正!
感谢!
更新:
项目调试中,又出现这个问题
同时数据库模型是没有任何问题,该有的东西都有。
后检查发现是Web.config配置文件中,与数据库连接的服务器名不一样
将Web.config中连接数据库服务器名与数据库一致即可。
评价
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术