我正在使用VS 2012和实体框架6中的模型第一种方法在SQL Server Compact 4.0中生成数据库。我已经从NuGet安装了Entity Framework包,并在我的引用中添加了EntityFramework.SqlServer.Compact
。一旦我构建了我的模型,我就尝试使用"从模型中生成数据库生成数据库..."指令。我可以毫无问题地浏览Generate Database Wizard。
当我在Package Manger Console中运行update-database
时,我得到了
在程序集中找不到迁移配置类型
修复此错误我使用了Enable-Migrations
,这给了我一个新错误
不支持从使用Database First或Model First创建的DbContext创建DbModelBuilder或编写EDMX。 EDMX只能从不使用现有DbCompiledModel创建的Code First DbContext中获取。
生成的连接字符串位于
之下<connectionStrings>
<add name="Model1Container"
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="data source=C:\Users\RSargent\Desktop\CompactDatabase\MyDatabase1.sdf""
providerName="System.Data.EntityClient" />
</connectionStrings>
我尝试使用|DataDirectory|
作为连接字符串路径,但这并不适合我,因为我得到的只是一些错误:
缺少必需的空格
<connectionStrings>
<add name="Model1Container"
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="Data Source=|DataDirectory|\MyDatabase1.sdf""
providerName="System.Data.EntityClient"/>
</connectionStrings>
从我所做的研究中,通常连接字符串是这些情况下的问题。我是否正确设置了连接字符串?或者有没有人知道我为什么不能自动生成数据库?