0

我正在尝试使用代码优先迁移,但包含我的 CustomContext 的项目也有一个派生类 TracingCustomContext,我在跟踪生成的 SQL 时使用它:

DbContext => CustomContext => TracingCustomContext

我在代码优先迁移期间遇到的问题是尝试运行时

Enable-Migrations

在包管理器控制台中,这会导致(并非意外)警告:

More than one class deriving from DbContext found in the current project.
Edit the generated Configuration class to specify the context to enable migrations for.

为了跳过这条消息并继续添加-迁移-初始,我必须注释掉我的 TracingCustomContext 类,然后运行 ​​Enable-Migrations。生成的配置类看起来不错,因此警告中的建议似乎不相关。

所以我的问题是是否有任何方法可以配置迁移,使其忽略特定的上下文,如 TracingCustomContext?例如,装饰类的属性,或某处的配置设置?

任何想法都非常感激。

4

1 回答 1

1

根据错误消息:

Edit the generated Configuration class to specify the context to enable migrations for.

打开创建的 Configuration.cs 类(在 Migrations 文件夹中),您将看到:

internal sealed class Configuration : DbMigrationsConfiguration</* TODO: put your Code First context type name here */>

将 /* TODO: put your Code First context type name here */ 替换为上下文的类型名称(在 Seed 方法中执行相同操作,或者如果您不使用 Seed 方法,则删除它),它应该可以工作。

于 2012-04-28T18:27:22.503 回答