gpt4 book ai didi

c# - IDesignTimeDbContextFactory 并不总是需要的?

转载 作者:行者123 更新时间:2023-11-30 14:47:13 32 4
gpt4 key购买 nike

以前我必须实现 IDesignTimeDbContextFactory 才能运行迁移,例如:PM > 添加迁移初始PM > 更新-数据库

如果不是,控制台会抛出一个错误并将我带到这里:https://learn.microsoft.com/en-us/ef/core/miscellaneous/configuring-dbcontext#use-idesigntimedbcontextfactory .

所以我按照它的建议做了,并开始运行迁移。之后我创建了新项目,而不必实现 IDesignTimeDbContextFactory。无论如何迁移都有效。这怎么可能?在所有项目上使用相同的 .NET Core 版本 (2.0)。

我们是否始终需要创建 IDesignTimeDbContextFactory,还是仅在某些情况下才需要?

谢谢!

最佳答案

好了,开始了:如果您的 DbContext 中有默认构造函数或正在使用在 ASP.NET Core 2.0 项目模板中建立的 Program.BuildWebHost() 模式,您通常不需要 IDesignTimeDbContextFactory 实现。

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

完整讨论请参阅此主题: https://github.com/aspnet/EntityFrameworkCore/issues/9033

关于c# - IDesignTimeDbContextFactory 并不总是需要的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46202845/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com