【发布时间】:2015-10-09 12:29:54
【问题描述】:
我的数据库中有一个上下文指向 3 个子数据库实例。我通过上下文的构造器注入了正确的数据库连接字符串。
但是,我很难让它与自动迁移一起使用。问题是,自动迁移需要一个我无法提供的无参数构造函数,而 IDbContextFactory 只允许我返回一个连接字符串。
有没有办法让迁移脚本针对多个数据库运行,或者我需要创建 3 个单独的上下文?
【问题讨论】:
-
为了清楚起见,您正在使用一个 EF 上下文连接到使用相同架构的数据库的 3 个不同实例,并且您希望上下文能够维护所有 3 个实例的升级路径?
-
没错!当它尝试进行自动迁移时,似乎只允许我指定一个连接字符串。
-
如果@Tr1stan 说的是正确的,那么我的处理方式是
public CustomContext() : base(DbConnections.GetCurrentConnectionString) { }这样做是你的上下文仍然有一个无参数的构造函数,但连接字符串将取决于之前设置的任何标准(对我来说,用户选择 dev、test、prod) -
您是否在单独的应用程序中使用它来维护一组由单独的客户端使用的数据库/版本,它们都运行相同的架构?试图让我明白为什么你想做你正在做的事情……主要是因为我很爱管闲事:)
-
@SpaceSteak 好主意 - 我会尝试探索这个。
标签: c# entity-framework