在 Dbcontext 中使用托管环境
Using Hosting env in Dbcontext
有没有一种方法可以使用托管环境变量来决定加载哪些种子数据?我在 Dbcontext 中 DI Ihostingenvironment 但不起作用。还有别的办法吗?
我认为的一种方法是查看连接字符串并手动检查 dev/QA 是否存在,但考虑是否有更好的方法?
您可以创建一个单独的 class 作为单例使用。
public class DbOptions
{
public bool UseDefaultSeed { get; set; }
}
在您的服务中将其添加为:
if (env.EnvironmentName == "")
services.AddSingleton(new DbOptions {
UseDefaultSeed = true
});
您现在可以在 DbContext 中注入 DbOptions
。
有没有一种方法可以使用托管环境变量来决定加载哪些种子数据?我在 Dbcontext 中 DI Ihostingenvironment 但不起作用。还有别的办法吗? 我认为的一种方法是查看连接字符串并手动检查 dev/QA 是否存在,但考虑是否有更好的方法?
您可以创建一个单独的 class 作为单例使用。
public class DbOptions
{
public bool UseDefaultSeed { get; set; }
}
在您的服务中将其添加为:
if (env.EnvironmentName == "")
services.AddSingleton(new DbOptions {
UseDefaultSeed = true
});
您现在可以在 DbContext 中注入 DbOptions
。