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配置。创建适当的配置,并根据需要进行交换。