10

首先使用代码时,EF 迁移实用程序似乎相当不错。

根据这篇博文,我尝试在我的项目中设置它,我们使用模型优先。运行Enable-Migrations命令时,我收到以下错误:

不支持从使用 Database First 或 Model First 创建的 DbContext 创建 DbModelBuilder 或编写 EDMX。EDMX 只能从不使用现有 DbCompiledModel 创建的 Code First DbContext 中获取。

有什么办法可以让我们在不切换到代码优先的情况下使用 EF 迁移?

4

2 回答 2

3

我一直在寻找相同的解决方案,发现:Entity Designer Database Generation Power Pack 安装后,当您选择“Generate Database from Model...”时,它会弹出一个新向导,您可以选择“Generate Migration T-SQL” .

于 2012-05-11T11:51:02.460 回答
3

我有一篇关于如何做到这一点的不完整博客条目。不确定它是否符合您的需要,但似乎是迄今为止唯一可用的方法。

基本上,您使用自定义 t4 从您的模型生成 DbMigrationsConfiguration 和 DbContext,您根本不需要运行 Enable-Migration。只需在包管理器控制台中运行 Add-Migration 和 Update-Database。

http://blog.amusedia.com/2012/08/entity-framework-migration-with-model.html

稍后我将更新博客条目和 t4 以使其更加用户友好。

于 2012-08-12T05:37:46.500 回答