2017-03-03 143 views
1

我正在探索新的實體框架核心(不是與ASP.Net一起使用,也不是在Linux下,我編寫的代碼只是一個經典的WinForms應用程序,使用Visual Studio在Windows 7 64位下使用SQLite作爲數據庫引擎構建) 。如何在Visual Studio 2015 WinForms項目中生成EF Core遷移?

  1. 試圖重現this example我已經找到了我需要的dotnet.exe工具不是的Visual Studio 2015年的一部分,並與.NET Core tools preview for Visual Studio安裝。

  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決賽」的封裝類型「 DotnetCliTool'不受項目'SqliteEfcExample'支持。

如何創建遷移?

回答

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爲我已經編寫的模型代碼生成遷移代碼。

UPDATE:

的追求仍在繼續,我還面臨的另一個問題 - ... violates the constraint of type 'TContext'錯誤嘗試使用上述命令即可。我已將它與answer中的解決方案一起描述爲在稍有不同的上下文中找到相同錯誤的問題。

+1

如果你能詳細說明#3,這將是非常好的。也許是一步一步的例子? –

相關問題