VS Code 和 macOS 错误:“此平台不支持 LocalDB”

问题描述 投票:0回答:3

我一直在 Mac 操作系统上通过 Visual Studio 代码修改 .NET Core,但是,Entity Framework 给我带来了一些麻烦。我完全能够迁移,但无法运行 > dotnet ef database update 命令,而不会出现以下错误:

LocalDB is not supported on this platform.
我一直在研究,似乎问题可能与操作系统有关,如何解决我解决了这个问题并最终拥有了一个可以迁移到的工作数据库。

sql-server entity-framework asp.net-core
3个回答
3
投票

消息:“此平台不支持 LocalDB。”是正确的。 使用 .mdf 文件的 LocalDB 无法在 MacOSX 下工作,因为该文件需要隐藏的“SQLExpress”服务器层。 MacOS 上尚未实现此功能。 因此,VS Code 和 VS Studio 都无法在 Mac 上开箱即用地完成这项工作。

您可以使用 docker 来克服这个问题,它可以运行适用于 Linux 的 SQLServer 的容器化版本。 您将需要学习一点 docker,将文件复制到容器内并将其作为数据库安装到 SQLServer,但如果您熟悉 unix 命令行世界,那么没什么难的。 还需要安装 docker for mac,并且由于 Linux 版本与 Windows 版本不 100% 相同,因此 SQLServer 本身内部会有一些(小)限制。

玩得开心!


0
投票

我在 MAC 上使用 VS Code。按照 Github..ShopOnWeb 中的说明: 我试过.. docker-compose 构建 docker-compose up 在最后一个命令行中,显示错误: “网络 nat 声明为外部,但无法找到。请使用

docker network create nat
手动创建网络,然后重试。” 我参考了。 在 Docker Compose 中自动创建网络 并发现 soln 为: 将网络的 docker-compose.yml 文件编辑为 网络: 默认: 就是这样。我可以在浏览器中打开网站。


0
投票

你可以看到:https://stackoverflow.com/a/65114907/17872692

LocalDb 是 SQL Server Express Edition 的打包机制,仅适用于 Windows。在 Ubuntu 上,您可以安装常规 SQL Server Express 版本。

https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-overview

以下是 Ubuntu、Red Hat 和 SUSE 的安装脚本。

或者使用 Docker 镜像:

https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker

© www.soinside.com 2019 - 2024. All rights reserved.