如何在EF4.3.1 Code First迁移期间忽略派生的DbContext

时间:2012-04-27 14:53:54

标签: entity-framework ef-code-first ef-migrations

我正在尝试使用代码优先迁移,但包含我的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.

为了通过此消息并转到Add-Migration -Initial,我必须注释掉我的TracingCustomContext类,然后运行Enable-Migrations。已生成的Configuration类看起来很好,因此警告中的建议似乎并不相关。

所以我的问题是,是否有任何方法可以配置迁移,以便它忽略特定的上下文,如TracingCustomContext?例如,用于装饰类的属性,还是某个地方的配置设置?

感激地收到任何想法。

1 个答案:

答案 0 :(得分: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:将您的Code First上下文类型名称放在此处* /使用上下文的类型名称(在Seed方法中执行相同操作,或者如果您不使用它,则删除Seed方法),它应该可以工作。