实体框架和SQL Server压缩数据库提供程序不兼容
本文关键字:程序 不兼容 数据库 压缩 框架 SQL Server 实体 | 更新日期: 2023-09-27 18:19:51
我有实体框架6.13,并安装了EntityFramework.SqlServerCompact.6.1.3
NuGet包。
然而,当我尝试添加从数据库生成的新模型时,我会出现错误:
您的项目引用了最新版本的实体框架;但是,与此兼容的实体框架数据库提供程序找不到数据连接的版本。如果你有已安装兼容的提供程序,请确保您已重新生成项目,然后再执行此操作。否则,请退出此向导,安装兼容的提供程序,然后在执行该动作。
我安装了SQL Server CE 4.3。
app.config
文件的一部分:
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0"
invariant="System.Data.SqlServerCe.4.0"
description=".NET Framework Data Provider for Microsoft SQL Server Compact"
type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
<connectionStrings>
<add name="DataBaseModelContainer"
connectionString="metadata=res://*/DataBaseModel.csdl|res://*/DataBaseModel.ssdl|res://*/DataBaseModel.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="Data Source=C:'Users'MyUser'Desktop'MyProj-master'SignalRSelfHost'ClientLocationSignalHost.sdf""
providerName="System.Data.EntityClient" />
</connectionStrings>
安装SQL Server Compact 4,0运行时MSI,安装Visual Studio的最新EF Tools,从SQL Server Compact Toolbox 连接到数据库文件