骑士。 EF 代码优先迁移

Posted

技术标签:

【中文标题】骑士。 EF 代码优先迁移【英文标题】:Rider. EF Code First Migrations 【发布时间】:2018-01-03 22:23:59 【问题描述】:

是否有一种简单的方法可以在 Visual Studio 之外使用旧的 EF 进行迁移?如果可能的话,我想通过 Rider IDE 来做。

【问题讨论】:

您可以使用migrate.exe 运行迁移。另外,请指定 EF6 与 EF Core。 【参考方案1】:

您还可以使用为处理迁移而制作的 jetbrains 插件

https://plugins.jetbrains.com/plugin/17026

【讨论】:

【参考方案2】:

对于 EF Core,您可以使用 https://blog.jetbrains.com/dotnet/2017/08/09/running-entity-framework-core-commands-rider/

对于 EF 6,您可能需要检查 https://blog.jetbrains.com/dotnet/2018/04/06/entity-framework-support-rider-2018-1/

【讨论】:

但是用migrate.exeEF 6 我怎样才能使update-databaseadd-migration 检查 blog.jetbrains.com/dotnet/2018/04/06/… 的 EF6【参考方案3】:

我没有看到这些与 ef 核心相关的选项。这个插件很有意义。

(对于 MacOS,请确保您的 dotnet 根文件夹路径是 /usr/local/share/dotnet/。我之所以这么说是因为 Rider 安装并将其放置在另一个文件夹中。此外,它会导致 ef 无法正常工作。您可以看到您的 dotnet终端上的文件夹,写which dotnet)

安装那个插件,

那么,

【讨论】:

【参考方案4】:

Package Manager Console tools(例如 Add-MigrationScaffold-DbContext)命令是基于 PowerShell 的,并且包管理器控制台与几个 Visual Studio 特定的对象相关联,因此无法在其他地方托管它 - 在您的情况下为 Rider。

在 Rider 的终端或 Visual Studio 之外的任何地方,您都可以使用CLI tools。与突出显示的命令等效的分别是:

Add-Migration => dotnet ef migrations add MigrationName Scaffold-DbContext => dotnet ef dbcontext scaffold

您可以在 JetBrains 博客上获取更多详细信息:Running EF Core commands in Rider

【讨论】:

以上是关于骑士。 EF 代码优先迁移的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用代码优先迁移

text EF Core 2 - 代码优先迁移

我可以将依赖项注入迁移(使用 EF-Core 代码优先迁移)吗?

代码优先迁移中列的 EF6 Oracle 默认值

ASP.NET 5 EF7 代码优先迁移默认按字母顺序创建列

EF5代码优先 - 使用迁移更改列类型