【问题标题】:Cannot Create migrations for EF Core Sql lite in UWP app无法在 UWP 应用中为 EF Core Sqlite 创建迁移
【发布时间】:2017-05-29 08:47:30
【问题描述】:

我正在使用 VS 2015 下面是我的 project.json 文件的副本。该项目是针对 10.0 build 14393 的 UWP 应用。

我已经接管了这个应用程序,它之前有过迁移。

当我尝试从 nuget 包管理器运行 Add-Migration 命令时,我收到“EntityFramework 包未安装在项目 'XXX' 上。”

此项目与具有以下 project.json 文件的项目相同。我的实体不在单独的类库中。我似乎无法弄清楚这些迁移脚本是如何创建的以及如何创建新的。

【问题讨论】:

  • 您的解决方案是否有多个项目?您是否选择了正确的目标项目?
  • 是的。我的项目目标是与通用 Windows 应用程序相同的项目。 imgur.com/a/2cxWo
  • 在包控制台中,更改上面的下拉列表以定位包含实体框架引用的项目。
  • 迁移应该在我定位的 uwp 应用程序中进行。我使用的是 EF 内核,因为 EF 6 与 uap10.0 不兼容。上下文是在该项目中设置的。这是我认为遵循的指南:docs.microsoft.com/en-us/ef/core/get-started/uwp/…
  • 我确实在另一个项目中安装了 entityframe 工作。是否有可能发生冲突而没有找到 ef 核心依赖项?

标签: sqlite uwp entity-framework-core


【解决方案1】:

感谢大家的帮助。对于那些可能仍然有这个问题的人,我发现这实际上是因为我有第二个项目中引用了 EF6。因此,包管理器在共享的 EF6 和 EF Core 命令上存在冲突。一旦我为我的命令添加前缀,这就会正常工作。

调用 EF Core 命令

PS> EntityFrameworkCore\Add-Migration

调用 EF 6 命令

PS> EntityFramework\Add-Migration

在这篇文章中提到但我忽略了一些东西:

https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell

【讨论】:

  • 太好了。您的回答将对其他开发者有所帮助:)
【解决方案2】:

我使用相同的环境来测试“Add-Migration”命令。这里没有问题。它运作良好。请看以下截图:

请检查您的包管理器控制台中的默认项目,看看它是否是您当前的项目。

可以看到如下截图,我的项目名称是“SqliteCore”,所以Package Manager Console中的默认项目是一样的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 2018-03-17
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    相关资源
    最近更新 更多