如何在Visual Studio 2015 WinForms項目中生成EF Core遷移?

entity-framework-core visual-studio-2015

我正在探索新的實體框架核心(不與ASP.Net一起使用,也不在Linux下,我編碼的只是使用SQLite作為數據庫引擎在Windows 7 64位下使用Visual Studio構建的經典WinForms應用程序)。

  1. 試圖重現這個例子我發現我需要dotnet.exe工具,它不是Visual Studio 2015的一部分,而是安裝Visual Studio的.NET Core工具預覽版

  2. 在安裝它之後,我遇到了另一個錯誤:嘗試執行dotnet ef migrations add InitialCreate -c SqliteEfcExampleContextNo 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'不支持。

如何創建遷移?

熱門答案

我自己找到了答案,讓我再次分享一下......

執行我問題中描述的步驟後

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

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

  3. 然後我找到了相關的Package Manager控制台命令(Add-Migration,Update-Database,Scaffold-DbContext等),並使用Add-Migration SqliteEfcExampleContext為我已經編寫的模型代碼生成遷移代碼。

更新:

任務繼續,我遇到了另一個問題 - ... violates the constraint of type 'TContext'試圖使用上面提到的命令。我曾與在該解決方案一起描述它回答一個有關在稍有不同的上下文中找到了同樣的錯誤問題。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow