在Dbcontext中使用托管环境

时间:2018-12-12 23:39:29

标签: entity-framework asp.net-core .net-core entity-framework-core ef-core-2.0

有没有一种方法可以使用托管环境变量来确定要加载哪些种子数据?我在Dbcontext中输入了Ihostingenvironment,但是没有用。还有其他办法吗? 我认为的一种方法是查看连接字符串并手动检查dev / QA是否存在,但认为是否有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

您可以创建一个单独的类以用作单例。

public class DbOptions
{
    public bool UseDefaultSeed { get; set; }
}

在您的服务中将其添加为:

if (env.EnvironmentName == "")
    services.AddSingleton(new DbOptions {
        UseDefaultSeed = true
    });

您现在可以在DbContext中注入DbOptions