C# 将实体框架6与SQL Server Compact 4结合使用

C# 将实体框架6与SQL Server Compact 4结合使用,c#,entity-framework,sql-server-ce-4,C#,Entity Framework,Sql Server Ce 4,我正在尝试使用代码优先方案,利用实体框架,从代码创建SQL Server Compact数据库。一切正常,直到我意识到我已经安装了SQL Server 2014 Express,并且它正在使用它(而不是我正在寻找的本地.sdf文件)。因此,我卸载了SQL Server 2014 Express 现在,在我的解决方案中,我使用的是EntityFramework.SqlServerCompactnuget扩展 但是,每当我尝试初始化DbContext时,就会出现错误: “运行时发生与网络相关或特定于

我正在尝试使用代码优先方案,利用实体框架,从代码创建SQL Server Compact数据库。一切正常,直到我意识到我已经安装了SQL Server 2014 Express,并且它正在使用它(而不是我正在寻找的本地
.sdf
文件)。因此,我卸载了SQL Server 2014 Express

现在,在我的解决方案中,我使用的是
EntityFramework.SqlServerCompact
nuget扩展

但是,每当我尝试初始化
DbContext
时,就会出现错误:

“运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到该服务器,或者 无法访问。请验证实例名称是否正确,以及 SQL Server配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 "指明"

我尝试在
app.config
中设置连接字符串以:


了解更多信息


在处理了解决方案和项目之后,我找到了原因。在我的设置中,我的应用程序是library,我在UnitTest项目中测试它。出于某种原因,我错误地从UnitTest项目中卸载了app.config,因此它抱怨缺少EntityFramework提供程序。将app.confing加载回project修复了该问题。

验证是否已在中安装System.Data.SqlServerCE.dll

C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private

如果不是,则必须在SSCERuntime-ENU.msi之前从此处安装:


您如何初始化dbcontext?您能否从app.config中共享实体框架相关部分,您仍在连接SQLServer@ErikEJ:添加的代码段和app.configClass库项目将使用主项目app.config。您是如何从单元测试项目中卸载应用程序配置的?