MacM芯片下SQLServer与EFCore的说明
Mac 下芯片有 intel 和 arm 两个版本, m 系列的芯片属于 arm 架构. 在 Mac 上的 Docker 中就无法使用 SQLServer, 同时 EFCore 一般默认也是使用 Intel 处理器架构的命令, 所以诸如 dotnet ef
的命令在 M 芯片下无法使用.
要解决这个问题, 数据库可以使用 Azure SQL Edge 的版本. 而在 安装 dotnet-ef
工具的时候带上 -a
参数, 设置为 arm64
即可.
数据库 Azure SQL Edge 的文档链接: https://learn.microsoft.com/zh-cn/azure/azure-sql-edge/
安装镜像可以直接使用:
docker run \ -e ACCEPT_EULA=Y \ -e MSSQL_PID="Developer" \ -e MSSQL_SA_PASSWORD="Sa12345678" \ -p 1433:1433 \ -d --name mysqlserver \ mcr.microsoft.com/azure-sql-edge:latest
部署文档: https://learn.microsoft.com/zh-cn/azure/azure-sql-edge/disconnected-deployment
而 dotnet tool install
的帮助可以从命令行中来获得:
dotnet tool install --help