首先使用代码时,EF迁移实用程序似乎相当不错。
基于this blog post,我尝试在我们使用模型优先的项目中进行设置。运行Enable-Migrations
命令时,出现以下错误:
不支持从使用Database First或Model First创建的DbContext创建DbModelBuilder或编写EDMX。 EDMX只能从不使用现有DbCompiledModel创建的Code First DbContext中获取。
是否有任何方法可以使用EF迁移而无需切换到代码优先?
答案 0 :(得分:3)
我一直在寻找相同的解决方案并发现:Entity Designer Database Generation Power Pack 安装完成后,当您选择“从模型中生成数据库...”时,它将弹出一个新向导,您可以选择“生成迁移T-SQL”。
答案 1 :(得分:3)
关于如何做到这一点,我的博客文章不完整。不确定它是否符合您的需要,但似乎是迄今为止唯一可用的方法。
基本上,您使用自定义t4从模型生成DbMigrationsConfiguration和DbContext,而您根本不需要运行Enable-Migration。只需在Package Manager控制台中运行Add-Migration和Update-Database。
http://blog.amusedia.com/2012/08/entity-framework-migration-with-model.html
我将更新博客条目和t4,以便以后更加用户友好。