2017-09-13 91 views
2

以前我不得不实施IDesignTimeDbContextFactory得到迁移运行,e.g: PM>添加迁移初始 PM>更新,数据库IDesignTimeDbContextFactory不总是需要?

如果没有,控制台抛出错误,并导致我在这里:https://docs.microsoft.com/en-us/ef/core/miscellaneous/configuring-dbcontext#use-idesigntimedbcontextfactory

所以我做了它的建议和迁移运行。 之后,我创建了新的项目,我不必实现IDesignTimeDbContextFactory。迁移工作无论如何。这怎么可能? 所有项目上的相同.NET Core版本(2.0)。

我们是否总是需要创建一个IDesignTimeDbContextFactory,还是仅仅在某些情况下?

谢谢!

+0

这是否适用? https://www.bountysource.com/issues/46781053-ef-core-2-0-design-time-dbcontext-discovery-changes –

+0

可能是谢谢,我发现了关于github的讨论,所以我会在那里发布问题以及当我得到回应时回来。 –

回答

3

好了,这里有云: 如果你在你的DbContext默认构造函数或使用建立在ASP.NET 2.0的核心项目模板的Program.BuildWebHost()模式,你通常不会需要一个IDesignTimeDbContextFactory实施。

在2.0.0-preview1中未使用Program.BuildWebHost(),您需要一个设计时工厂。

全面讨论请参见本主题: https://github.com/aspnet/EntityFrameworkCore/issues/9033