如何使用传递给 EntityFramework Core CLI 的环境参数
本文关键字:CLI 环境 参数 Core EntityFramework 何使用 | 更新日期: 2023-09-27 18:09:42
某些实体框架核心 CLI 命令接受environment
参数。例如dotnet ef migrations list --environment <env_name>
.
保存迁移的程序集与数据实体程序集是分开的,因此我必须从IDbContextFactory
派生。
我的问题来了:有没有办法将环境参数从我的DbContextFactory
类中传递给 CLI?我需要它来应用特定环境的连接字符串。
提前谢谢。
愚蠢的
我,在环顾四周的一天之后,我注意到IDbContextFactory
接口Create
方法具有 DbContextFactoryOptions
类型的参数,而该参数又具有EnvironmentName
属性,该属性似乎是传递给 CLI 命令的属性。
案件已结案。
ASP.NET Core
和 EF Core 2.0.1
为了授予迁移实体更改的提升权限,同时保持应用程序的较低权限,创建了两个 SQL 用户。
应用程序的连接信息存储在 appsettings.json
中。 用于 EF CLI 的连接信息存储在 appsettings.<ENVIRONMENT_NAME>.json
中。 两者都使用相同的ConnectionStrings
密钥。
要使dotnet ef
成功执行,请在尝试更新数据库之前设置ASPNETCORE_ENVIRONMENT
。
set ASPNETCORE_ENVIRONMENT=<ENVIRONMENT_NAME>
dotnet ef database update