我如何在Visual Studio 2015 Winforms项目中生成EF核心迁移



我正在探索新的实体框架核心(不与ASP.NET结合使用,也不是在Linux下,我的编码只是一个经典的Winforms应用程序,该应用程序是由Windows 7 64下的Visual Studio构建的经典Winforms应用程序 - 使用sqlite作为数据库引擎)。

  1. 试图重现此示例,我发现我需要dotnet.exe工具,该工具不是Visual Studio 2015的一部分,并且可以使用.NET Core Tools预览Visual Studio。

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

  3. 我然后在一个提示上搜索了我需要用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"的支持。

我如何创建迁移?

我自己找到了答案,让我再次分享...

执行问题中描述的步骤

  1. 安装了Windows Management框架5.0以更新PowerShell。

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

  3. 然后,我找到了相关的包装管理器控制台命令(add-mogration,update-database,ackaffold-dbcontext等),并使用 Add-Migration SqliteEfcExampleContext来生成我已经编写的模型代码的迁移代码。

更新:

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

最新更新