【问题标题】:How do I generate EF Core migrations in a Visual Studio 2015 WinForms project?如何在 Visual Studio 2015 WinForms 项目中生成 EF Core 迁移?
【发布时间】:2017-03-04 10:10:32
【问题描述】:

我正在探索新的 Entity Framework Core(不与 ASP.Net 结合,也不在 Linux 下,我正在编码的只是一个经典的 WinForms 应用程序,在 Windows 7 64 位下使用 SQLite 作为数据库引擎构建)。

  1. 试图重现this example 我发现我需要dotnet.exe 工具,它不是Visual Studio 2015 的一部分,并且需要与.NET Core tools preview for Visual Studio 一起安装。

  2. 安装后我遇到了另一个错误:尝试执行dotnet ef migrations add InitialCreate -c SqliteEfcExampleContext:No executable found matching command "dotnet-ef"

  3. 然后我在 Google 上搜索到一个提示说我需要使用 NuGet 安装 Microsoft.EntityFrameworkCore.Tools.DotNet

  4. 它拒绝安装说我需要更新版本的 NuGet 本身。所以我从https://dotnet.myget.org/F/nuget-beta/vsix/更新了NuGet。

但我仍然无法安装 Microsoft.EntityFrameworkCore.Tools.DotNet - 它显示“严重代码描述项目文件行抑制状态错误包“Microsoft.EntityFrameworkCore.Tools.DotNet 1.1.0-preview4-final”的包类型为“DotnetCliTool”项目“SqliteEfcExample”不支持。

我如何创建迁移?

【问题讨论】:

    标签: visual-studio-2015 entity-framework-core


    【解决方案1】:

    我自己找到了答案,再分享一下……

    执行问题中描述的步骤后,我有

    1. 安装 Windows Management Framework 5.0 以更新 PowerShell。

    2. Tools - NuGet Package Manager - Package Manager Console手动执行以下命令:PM> Install-Package Microsoft.EntityFrameworkCore.Tools -Pre

    3. 然后我发现相关的包管理器控制台命令(Add-Migration、Update-Database、Scaffold-DbContext 等)工作并使用Add-Migration SqliteEfcExampleContext 为我已经生成的模型代码生成迁移代码写的。

    更新:

    任务仍在继续,我遇到了另一个问题 - 尝试使用上述命令时出现 ... violates the constraint of type 'TContext' 错误。我已经在answer 中将它与解决方案一起描述了一个关于在略有不同的上下文中发现的相同错误的问题。

    【讨论】:

    • 如果您能详细说明#3,那就太好了。也许是一步一步的例子?
    猜你喜欢
    • 2015-05-05
    • 2019-02-07
    • 2016-12-10
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    相关资源
    最近更新 更多