我在VS2012中首先使用EF 5 Code的MVC 4应用程序。 我在另一台笔记本电脑上创建了这个应用程序,我也激活了迁移,但又禁用了它(通过删除迁移文件夹并删除de DB中的表)。 现在我将整个解决方案复制到我的第二台笔记本电脑,但我再也无法运行该应用程序了。
尝试访问数据库时,我总是遇到异常。
提供程序未返回providermanifesttoken字符串
内部异常
{“建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确以及SQL Server是否配置为允许远程连接。(提供者:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)“}
我使用以下连接字符串
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
</connectionStrings>
当我把它放在我的global.asax中时,它确实有效。
Database.DefaultConnectionFactory = new SqlConnectionFactory(@"Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True");
所以简而言之,在我创建项目的笔记本电脑上,一切都与web.config中的连接字符串一起工作,但在我的其他电脑上它只适用于de global.asax
有没有人能解决这个恼人的问题?
答案 0 :(得分:0)
我终于找到了问题的解决方案。 好像我在配置中遗漏了一些东西。 我仍然不明白为什么它适用于我的其他机器,但对于那些遇到同样问题的人,请尝试以下方法。
我在配置中有以下内容。
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
在stackoverflow上发现此帖后,我将其替换为此片段
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
</parameters>
</defaultConnectionFactory>