如何在实体框架中进行迁移?

Posted

技术标签:

【中文标题】如何在实体框架中进行迁移?【英文标题】:How do I make migrations in Entity Framework? 【发布时间】:2021-08-23 21:34:17 【问题描述】:

我的研究一直告诉我使用Migrate.exe,它没有出现在我的项目中,也无法在任何地方下载。我也在使用 VS Code 而不是 Visual Studio,这似乎使得无法使用包管理器控制台。

而且我使用的是 Entity Framework - 而不是 Entity Framework Core - 所以我没有 EFC 的所有选项。

目前我正在尝试在游戏引擎 Unity 中设置实体框架。可以使用 Entity Framework v6.2.0 设置一个临时项目并运行 dotnet pack 以获取 EntityFramework.dll,但它不会创建 Migrate.exe。它似乎是创建迁移的唯一选择。

你们中有人知道如何获取Migrate.exe 文件或其他添加迁移的方法吗?

【问题讨论】:

【参考方案1】:

当您使用 NuGet 安装 Entity Framework 时,migrate.exe 将位于下载包的工具文件夹中。在 \packages\EntityFramework.\tools

来源是microsoft

你试过了吗?

【讨论】:

遗憾的是,该链接没有解释如何实际安装 EntityFramework,但它确实让我看到了尝试安装而不是我一直在做的事情。【参考方案2】:

显然安装和添加是有区别的,并不是说当你在 nuget.org 上查看包时他们提到了这一点。

所以与其运行dotnet add package EntityFramework --version 6.2.0 我需要从 nuget.org 下载最新的 nuget.exe 并在根文件夹中创建一个 packages.config 文件。

然后我运行nuget.exe install packages.config -OutputDirectory packages,它安装了我需要的所有文件。

packages.config:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="6.2.0" targetFramework="net40" />
</packages>

【讨论】:

以上是关于如何在实体框架中进行迁移?的主要内容,如果未能解决你的问题,请参考以下文章