2017-03-03 140 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,这将是非常好的。也许是一步一步的例子? –

相关问题