gpt4 book ai didi

entity-framework - 有什么方法可以检测 EntityFramework Core 是否在工具内运行?

转载 作者:行者123 更新时间:2023-12-05 06:41:46 29 4
gpt4 key购买 nike

有什么方法可以检测我的应用程序是通过 dotnet ef * 还是 PowerShell 替代方案运行?

我正在使用 Entity Framework Core 创建一个 Multi-Tenancy ASP.NET Core 应用程序,我有逻辑来决定应该使用哪个连接字符串,但如果我正在创建迁移或通过命令行。我不能依赖于检查 HttpContext 是否存在,因为我也在配置期间使用了我的 DbContext,我也不能使用额外的命令行参数或环境变量。

编辑:找到了一种查看连接字符串是否已经配置的方法,它并不理想,但我可以用它来帮助处理我的特定用例:

optionsBuilder.Options.Extensions
.OfType<RelationalOptionsExtension>()
.FirstOrDefault()?.ConnectionString

最佳答案

如果您创建一个实现了 IDbContextFactory<T> 的类型在你的DbContext (或启动)项目,工具将调用它而不是尝试获取您的 DbContext从服务或直接实例化它。

关于entity-framework - 有什么方法可以检测 EntityFramework Core 是否在工具内运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39593038/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com