我有一个使用EF 5.0(代码优先)的MVC Web应用程序,它使用此连接字符串连接到本地数据库(在同一服务器上):
"Data Source={server}\{instance};Database={database};user id=sa;password={password}"
首次初始化DbContext时,将删除并重新创建数据库。之后会引发以下异常:
System.Data.ProviderIncompatibleException:从数据库获取提供程序信息时发生错误。这可能是由实体框架使用不正确的连接字符串引起的。检查内部异常以获取详细信息,并确保连接字符串正确。 ---> System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串。 ---> System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)
我在同一台服务器上托管了另一个应用程序,使用完全相同的连接字符串来使用旧的ADO.Net方式中的SqlConnection对象访问数据库,该方式连接正常。
我已经检查了类似的帖子,所有人都提出了一些我尝试但未解决问题的事情:
只是为整个事情添加一个奇怪的转折:我可以从运行IIS Express的工作站连接到同一服务器上的同一个数据库,但只要它在服务器上托管我就会遇到上述问题。