Entity framework 从数据库获取提供程序信息时出错
获取错误: System.Data.ProviderIncompatibleException:从数据库获取提供程序信息时出错。这可能是由于实体框架使用了不正确的连接字符串造成的。Entity framework 从数据库获取提供程序信息时出错,entity-framework,connection-string,entity-framework-migrations,Entity Framework,Connection String,Entity Framework Migrations,获取错误: System.Data.ProviderIncompatibleException:从数据库获取提供程序信息时出错。这可能是由于实体框架使用了不正确的连接字符串造成的。 检查内部异常以了解详细信息,并确保连接字符串正确。 --->System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串。 --->System.Data.SqlClient.SqlException:建立到SQL Server的连
检查内部异常以了解详细信息,并确保连接字符串正确。
--->System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串。
--->System.Data.SqlClient.SqlException:建立到SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:25-连接字符串无效) 尝试执行
添加迁移时,我会遇到相同的错误
这是我的连接字符串,我需要访问本地SQL server,而不是SQLEXPRESS
<connectionStrings>
<add name="ReaderInsightDbContext"
connectionString="data source=localhost\MSSQLSERVER;
initial catalog=ReaderInsight;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
所以我的实例是MSSQLSERVER。不知道发生了什么事。它最初运行得很好,但在我更改代码以使用UOW模式之后,这种情况就发生了。我还从EF4.3升级到EF5。同样的问题
我在连接字符串中尝试了数据源的多种变体,但均无效,以下是一些示例:
- localhost\MSSQLSERVER
- MSSQLSERVER
- //localhost\MSSQLSERVER
- (本地)\MSSQLSERVER
- 127.0.0.1\MSSQLSERVER
如果我这样做。\SQLEXPRESS它可以工作。请参阅以下文章:
看起来你错过了火星设定 设法解决了这个问题
底线手动删除迁移文件会导致问题
确保我的连接字符串如下所示:
<connectionStrings>
<add name="ReaderInsightDbContext"
connectionString=
"Data Source=(local);Initial Catalog=ReaderInsight;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
在global.asax文件中
注释掉它,所以它不会再次运行。然后,我进行了添加迁移初始化,它为整个数据库重新创建了脚本。当我运行更新数据库时,它工作得非常出色。我在更改密码时遇到了这个问题,SQL Server无法启动。检查:)检查您在连接字符串中使用的SQL Server是否已启动。前几天我遇到了相同的问题。原因是我的MSSQL服务器版本。
我试着使用VS2010和SQLServer2008,但没有成功。
它与VS2010附带的SQL Express配合使用效果很好(但尚未启动),但与SQL SERVER配合使用效果不佳。我将其与VS2010配合使用,效果良好:
添加的用户实例=true
已使用数据源。\SQLEXPRESS
通过将解决方案中的启动项目设置为实体dll项目(具有app.config文件),我解决了这个问题。我确实将PackageManager控制台窗口中的“默认项目”设置为正确的实体dll项目,但这不起作用。详情
system data entity core providerin尝试过,它指向的是SQLEXPRESS,而不是SQLServer可能有助于解决这个问题,我删除了添加迁移生成的所有迁移文件,因为我的数据库仅存在于本地计算机上,并且外键有问题,所以我决定为现在稳定的DB生成一个干净的迁移。但不确定为什么会有影响。请参阅此[post.][1][1]:看起来您缺少火星设置。而不是数据源=。;设置数据源=localhost;在你的连接中!我也有同样的问题。我已将启动项目更改为其他项目,迁移停止工作。谢谢你的回答;这让我快发疯了。谢谢你。成功了。奇怪的解决方案,但它对我有效
<connectionStrings>
<add name="ReaderInsightDbContext"
connectionString=
"Data Source=(local);Initial Catalog=ReaderInsight;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
System.Data.Entity.Database.SetInitializer(
new System.Data
.Entity
.DropCreateDatabaseIfModelChanges<ReaderInsightDbContext>());