【发布时间】:2012-02-25 00:02:21
【问题描述】:
我正在尝试将 EF 4.3 迁移与多个代码优先 DbContext 一起使用。我的应用程序被分成几个插件,它们可能有自己的 DbContext 关于他们的域。应用程序应该使用一个单一的 sql 数据库。
当我尝试自动迁移空数据库中的上下文时,这仅对第一个上下文成功。每个其他上下文都需要将 AutomaticMigrationDataLossAllowed-Property 设置为 true,然后尝试删除前一个的表。
所以我的问题是:
- 我如何告诉迁移配置只是照顾在其相应上下文中定义的表,而让所有其他表不理会?
- 在单个数据库中通过自动迁移处理多个 DbContext 的正确工作流程是什么?
谢谢!
【问题讨论】:
-
这是一个非常有趣的问题。我想知道多上下文支持是否是迁移用例的一部分。
-
我非常怀疑多上下文是否可以与自动迁移一起使用,它旨在更新数据库以无论如何看起来就像上下文一样。您可能会更幸运地使用手动迁移开发插件,针对单独的数据库生成迁移,然后将它们全部应用到同一个数据库。
-
与此同时,我查看了 EF 4.3 程序集,我也怀疑迁移框架能否应对多种情况。但是我想不出技术上的原因。使用 EDM 模型,您可以将其与数据库进行比较,找到创建或更改的现有表表,并通过手动迁移给用户离开删除场景。
标签: entity-framework-4 entity-framework-migrations