sig*_*urd 20 entity-framework ef-migrations entity-framework-4.3
我正在使用ASP.NET MVC 3项目,它使用Entity Framwork 4.3及其迁移.现在我希望Entity Framework使用我已经进行的迁移为我创建数据库.当我尝试运行Update-Database脚本时,它给出了以下内容:
Update-Database -Verbose -ProjectName AssemblyWithMigrations -StartUpProjectName WebProjectAssembly
No migrations configuration type was found in the assembly '/* my name of assembly */'. (In Visual Studio you can use the Enable-Migrations command from Package Manager Console to add a migrations configuration).
但是,当我试图运行时,Enable-Migrations
我看到以下内容:
Migrations have already been enabled in project 'AssemblyWithMigrations '. To overwrite the existing migrations configuration, use the -Force parameter.
因此,问题是EF尝试解析当前迁移版本以更新数据库,我想.但数据库不存在,显然失败了.
问题是:如果不存在,如何使用EF迁移创建数据库?或者,使用Nuget控制台做到这一点的正确方法是什么?
总之,我想要的:1.运行命令(也许update-database
)将使用我的web.config文件创建数据库2.所有迁移将按创建顺序应用于创建的数据库.
谢谢.:)
Dav*_*e R 41
我意识到这是一个古老的问题,但到底是什么......
为了使迁移能够创建初始数据库,我发现以下工作正常.
在Package-Management-Console类型"Add-Migration InitialCreate"中
[可选,取决于您的数据库初始化程序]
这将为您提供单个迁移脚本,该脚本将使您从"无数据库"到拥有与当前模型匹配的数据库.
小智 5
使用迁移非常有用,但有时我发现在处理数据库时使用以下语句会更好。
数据库初始化策略:使用任何与您相关的注释语句。
public DataContext(): base("DefaultConnection")
{
// Database.SetInitializer<DataContext>(new CreateDatabaseIfModelChanges<DataContext>());
// Database.SetInitializer<DataContext>(new CreateDatabaseIfNotExists<DataContext>());
// Database.SetInitializer<DataContext>(new DropCreateDatabaseAlways<DataContext>());
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30143 次 |
最近记录: |