macOS下如何设置带冒号的Entity Framework迁移连接字符串环境变量
解决方案
.NET 配置系统原生适配了不支持冒号作为环境变量名的系统环境,你只需要用**双下划线(__)**替换环境变量名中的冒号:即可,.NET 运行时会自动识别映射到对应的配置键ConnectionString:SchemaAdmin。
临时生效(仅对单次EF命令有效)
直接在执行EF命令前声明变量即可,不会影响当前会话的其他环境变量:
ConnectionString__SchemaAdmin="替换为你的实际数据库连接字符串" dotnet ef migrations list --project My.Project --context MyDbContext
会话级生效(对当前终端窗口的所有命令有效)
用export声明环境变量:
export ConnectionString__SchemaAdmin="替换为你的实际数据库连接字符串"
设置完成后,当前终端内执行的所有EF相关命令都可以正常读取到连接字符串。
永久生效(对当前用户所有终端会话有效)
将上面的export语句添加到当前用户的Shell配置文件中:
- 如果你用Bash,写入
~/.bashrc - 如果你用Zsh,写入
~/.zshrc
保存文件后执行source ~/.bashrc(对应你修改的配置文件)即可立即生效,后续新打开的终端都会自动加载该环境变量。
验证设置结果
执行以下命令可以确认环境变量是否设置成功:
echo $ConnectionString__SchemaAdmin
内容的提问来源于stack exchange,提问作者mdarwin
相关产品推荐
相关产品推荐

