【发布时间】:2017-01-28 07:35:02
【问题描述】:
有什么方法可以检测我的应用程序是通过 dotnet ef * 还是 PowerShell 替代方案运行的?
我正在使用 Entity Framework Core 创建一个多租户 ASP.NET Core 应用程序,并且我有逻辑来决定应该使用哪个连接字符串,但如果我正在创建迁移或通过命令行。我不能依赖检查 HttpContext 的存在,因为我也在配置过程中使用了我的 DbContext,我也不能使用其他命令行参数或环境变量。
编辑:找到了一种方法来查看是否已经配置了连接字符串,这并不理想,但我可以用它来帮助我的特定用例:
optionsBuilder.Options.Extensions
.OfType<RelationalOptionsExtension>()
.FirstOrDefault()?.ConnectionString
【问题讨论】:
标签: entity-framework dependency-injection asp.net-core entity-framework-core