如何实现IDbContextFactory以用于Entity Framework数据迁移

我正在尝试使用Entity Framework数据迁移,如本文所述。

但是,当我尝试执行Enable-Migrations步骤时,我在包pipe理器控制台中收到以下错误:

 The target context 'MyDataContext' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory 

所以,我创build了一个工厂类,在包含我的DbContext类的项目中实现了IDbContextFactory ,但是数据迁移看起来并不能识别它。

有什么我应该明确做的指示数据迁移使用这个工厂类?

我也碰到这个问题,因为我写我的上下文来获取连接string名称(然后使用ninject提供它)。

你所经历的过程似乎是正确的,如果有任何帮助,这里是我的类实现的一个片段:

 public class MigrationsContextFactory : IDbContextFactory<MyContext> { public MyContext Create() { return new MyDBContext("connectionStringName"); } } 

这应该是你需要的一切。