实体框架和SQL Server compact - 数据库提供程序不兼容

时间:2015-10-30 12:26:10

标签: c# entity-framework sql-server-ce

我有Entity Framework 6.13,我安装了EntityFramework.SqlServerCompact.6.1.3 NuGet包。

但是,当我尝试添加从数据库生成的新模型时,我收到错误:

  

您的项目引用了最新版本的Entity Framework;   但是,与此兼容的Entity Framework数据库提供程序   找不到您的数据连接版本。如果你有   已安装兼容的提供商,确保您已重建您的   项目执行此操作之前。否则,退出此向导,   安装兼容的提供程序,然后重建您的项目   执行此操作。

我安装了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=&quot;Data Source=C:\Users\MyUser\Desktop\MyProj-master\SignalRSelfHost\ClientLocationSignalHost.sdf&quot;" 
         providerName="System.Data.EntityClient" />       
</connectionStrings>

1 个答案:

答案 0 :(得分:1)

安装SQL Server Compact 4,0运行时MSI,安装最新的Visual Studio for Visual Studio,从SQL Server Compact Toolbox连接到数据库文件