我有一个简单的控制台应用程序设置,我试图让代码优先的实体正常工作。我已经完成了基本的例子,并设置了我的类和上下文。一旦我运行我的应用程序,数据库会自动生成并放入我的bin/Debug
目录中。这很好,至少有一些工作。但是现在我想将SQL Server Compact 4.0数据库文件(.sdf
)添加到项目中,并使用该文件代替自动生成的数据库。从我读过的内容中,我只需要添加一个名称与派生的DbContext
类匹配的连接字符串。SQL Server Compact 4.0代码优先连接字符串指定
下面是我的app.config
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="StudentContext"
connectionString="Data Source=Database1.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.4.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
</configuration>
这是当它试图使用初始化上下文,我收到错误。
内部异常说
配置系统初始化失败
我试过直接虽然构造函数指定的情况下,仍然没有运气。希望我只是忽略了一些东西。
(侧面说明,我抓住的EntityFramework从的NuGet,它应该是5.0,但了AppConfig说,4.4?的自动生成的伟大工程,所以我想他们没有有什么彼此。)
在.NET 4.0上的EF 5.0将被称为'4.4' - 这里没有错误(只是令人困惑的编号方案....)在.NET 4.5项目中,EF 5.0将为“5.0”。 –