如何在 Visual Studio 中为 Mac 启用迁移

How to enable migrations in Visual Studio for Mac

我有 Visual Studio Mac,我正在尝试使用以下教程通过 Azure 学习 Xamarin:https://adrianhall.github.io/develop-mobile-apps-with-csharp-and-azure/chapter3/server/

有时,我必须启用 EF 迁移。教程说:转到查看 -> 其他 Windows -> 程序包管理器控制台。

不幸的是,Visual Studio 中没有用于 Mac 的程序包管理器控制台...那么您如何处理 enable-migrationsadd-migrationupdate-database 在 Mac?

Visual Studio 目前不支持 Mac。

有一个 NuGet 扩展插件可以为 Mac 添加一个 PowerShell 控制台到 Visual Studio 但是 Entity Framework PowerShell 命令不太可能工作,因为它们通常是 Visual Studio具体的。此外,PowerShell 支持有限,因为它使用 Pash,PowerShell 的开源克隆,尚未完全实现。

如果您使用的是 Entity Framework 7(或他们所谓的 Entity Framework 核心),那么您应该能够使用带有 .NET Core command line.

的命令
dotnet ef migrations ...

如果您使用的是 Entity Framework6,那么您需要找到另一种调用迁移的方法,而不是使用 PowerShell。 Entity Framework 6 具有特定于 Visual Studio 的 PowerShell 命令。它们被移植到 SharpDevelop 但涉及重新编写它们以使用 IDE。

到 运行 Mac 上的 EF 只需按照以下步骤操作即可。

打开命令行,转到项目文件夹,然后运行

dotnet restore

如果一切正常,你应该可以运行

dotnet ef

之后你可以 运行 命令如下:

dotnet ef migrations add initial

dotnet ef database update

如果您使用的是 .NET Core(特别是 EF Core),则可以在 Visual Studio 中为 Mac' 安装 NuGet PowerShell Core 控制台。

只需按照以下说明进行操作:

https://lastexitcode.com/blog/2019/05/05/NuGetPowerShellCoreConsoleVisualStudioForMac8-0/

Mac 目前支持此功能。

首先你需要安装dotnet-ef

dotnet tool install --global dotnet-ef

要安装特定版本的工具,请使用以下命令:

dotnet tool install --global dotnet-ef --version 3.1.4

在 PATH 环境变量中添加“dotnet-ef”工具目录。

export PATH="$PATH:/Users/'your user folder'/.dotnet/tools"

打开命令行,转到项目文件夹,然后运行

dotnet restore

如果一切正常,你应该可以运行

dotnet ef

之后你可以 运行 命令如下:

dotnet ef migrations add initial

dotnet ef database update

PS:当 dotnet ef 命令行尝试 运行!!!

时,不应执行您的解决方案

不服气的朋友,这里有成功的demo!!!

Mac 用户

如果您有 N-Layer 体系结构和多个项目,请确保您在正确的路径(可能在启动项目路径下)运行 命令

由于路径错误,我遇到了问题

dotnet ef 数据库更新

当然要先安装ef

dotnet 工具安装 --global dotnet-ef --version {VERSION_NUMBER}

然后导出路径

export PATH="$PATH:/Users/firatkeler/.dotnet/tools"

如果您的设置指向本地数据库,请不要忘记在本地安装数据库。首先安装并尝试连接它,然后应用 dotnet ef 数据库更新命令。