Autofac多数据库支持

本文关键字:支持 数据库 多数据 Autofac | 更新日期: 2023-09-27 18:24:02

我目前正在构建一个应用程序,其中我正在考虑对多数据库的支持(SQL Server、MySQL)。

我正在考虑拥有以下内容:

public interface IUserEngine { 
    User Get(int id);
}
public class MsSqlUserEngine : IUserEngine {
    public User Get(int id) {
        // implementation
    }
}
public class MySqlUserEngine : IUserEngine {
    public User Get(int id) {
        // implementation
    }
}

目前,我只有一个接口和一个固定的SQL Server实现(UserEngine)。我已经在使用AutoFac将IUserEngine注入到我的逻辑层中。

在我的AutofacConfig课程中,我有以下内容:

builder.RegisterType<UserEngine>().As<IUserEngine>();

要从这个SQL Server实现更改为未来的MySQL实现,我需要更改什么?

只需添加一个if语句,该语句将从配置文件中读取AppSetting并注册相应的类型?

Autofac多数据库支持

您应该使用Autofac机制,Autofac配置。创建适当的配置,并根据需要进行交换。