【问题标题】:How to re-migrate already Migrated dbcontext in EF如何在 EF 中重新迁移已迁移的 dbcontext
【发布时间】:2019-07-03 11:56:57
【问题描述】:

我有一个名为 RemoteWork 的项目,其中有我的 Dbcontext。我在 DbContext 中有 2 个模型 - 用户和产品。我使用的是代码优先方法。然后我使用了“add-migration”,它成功了。然后我在另一个名为 Apiclient 的项目中引用了 Remotework。他们都在同一个解决方案中。现在我在 USER 中更改了我的表,所以它不同步。我想让它同步。我尝试了我在网上阅读的不同方法,我收到了不同的错误消息。任何人都可以在这方面提供帮助。

我已经这样做了:Add-Migration SecondMigration

这是错误信息:

在程序集“AppClient”中未找到 DbContext。确保您使用的是正确的程序集,并且该类型既不是抽象的也不是泛型的。

请注意,AppClient 是作为启动项目制作的。我也尝试过将远程工作作为一个启动项目,它也没有解决它:

PM> Add-Migration SecondMigration

在程序集“AppClient”中未找到 DbContext。确保您使用的是正确的程序集,并且该类型既不是抽象的也不是泛型的。

PM> Add-Migration -Name MyMigration -OutputDir MyMigrationDir -Context BettingDbContext -Project RemoteWork -StartupProject AppClient

我希望模型与我的数据库同步

【问题讨论】:

标签: c# entity-framework .net-core migration


【解决方案1】:

我假设您正在从 Visual Studio 的包管理器控制台运行 add-migration。 确保您在包管理器控制台顶部的“默认项目”下拉列表中选择了包含您的上下文的项目。或者在 add-migration 中使用 -StartUpProjectName 参数。

【讨论】:

  • 感谢您的回复。是的,我正在使用包管理器控制台。我选择了包含 dbcontext 的项目 - REMOTEWORK 但我仍然遇到错误。错误是: PM> Add-Migration SecondMigration 。错误:无法加载程序集“AppClient”。确保它被启动项目“RemoteWork”引用。
  • 尝试将您的启动项目也设置为包含 dbcontext 的项目。
  • 再次感谢。我这样做了,但它仍然给出了同样的错误。
  • @OfficalMesut 感谢您的留言。请我检查过网站,但我不知道在哪里放置第 4 步(即配置迁移程序集)。我是否还需要从 appsetting.json 复制并替换第 4 步中所述的“connectionstring”。我很乐意为您提供任何帮助来解决此问题。
猜你喜欢
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
相关资源
最近更新 更多