0

环境:VS 2019,C# .NET Framework 4.6.1

我正在使用一个.json文件来保存我的所有配置:

IConfigurationBuilder config = new ConfigurationBuilder();
        config.AddJsonFile("autofac.json");

我的问题是,如何将 包含DbContext在此文件中?我将 Autofac 添加到现有应用程序并在新部分中使用它。原代码中的代码是这样的(把真名改成“My*”保护无辜):

public partial class MyDbContext : DbContext, IDisposable
{
    public MyDbContext () : base("MyDB")
    {}

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {}
}

是否可以将DbContext具体类与现有接口相关联(是否存在)或者我应该围绕它创建一个包装器,然后为包装器类创建一个相应的接口?

4

1 回答 1

0

典型的做法是将连接信息(例如连接字符串)放入配置文件,而不是服务类的 JSON 表示,例如 a DbContext)。

然后,您可以注入具体的上下文(或者,更好的是,一个IDbContextFactory创建MyDbContext.

在配置文件中提供非配置内容(例如 repos、服务类、EF 资源等)很快就会变得非常有问题。坚持单独配置。

于 2021-02-25T21:44:54.600 回答