使用SQL Server CE数据库部署项目

时间:2012-05-29 00:15:26

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

我正在尝试部署使用.SDF文件和实体框架的应用程序。每当部署的应用程序尝试使用该实体(连接到数据库)时,我都会收到错误:

  

在配置中找不到指定的商店提供商,或者无效   System.ArgumentException:无法找到请求的.Net Framework数据提供程序。它可能没有安装   at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
  在System.Data.EntityClient.EntityConnection.GetFactory(String providerString)

我的连接字符串如下所示:

<add name="DBEntities" 
    connectionString="metadata=res://*/DB_Model.csdl|res://*/DB_Model.ssdl|res://*/DB_Model.msl;
    provider=System.Data.SqlServerCe.3.5;
    provider connection string=&quot;Data Source=|DataDirectory|\Database\DB.sdf&quot;" 
    providerName="System.Data.EntityClient" />

我在某处读过我可能需要引用System.Data.SqlServerCe.3.5的dll,但我不确定。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

您需要在目标系统上安装3.5 SP2运行时,或使用此处所述的私有部署:http://erikej.blogspot.com/2012/05/private-deployment-of-sql-server.html

答案 1 :(得分:0)

  • 在项目属性下的发布标签上,点击应用程序文件
  • 查找 System.Data.SqlServerCe.dll (可能通过选中显示所有文件框)。
  • 确保发布状态包含