C# 如何将数据库连接注入查询处理程序?
我有一个类似于的应用程序。在查询处理程序中,我使用Dapper获取数据。DI容器是SimpleInjectorC# 如何将数据库连接注入查询处理程序?,c#,dependency-injection,cqrs,simple-injector,C#,Dependency Injection,Cqrs,Simple Injector,我有一个类似于的应用程序。在查询处理程序中,我使用Dapper获取数据。DI容器是SimpleInjector 我应该如何在查询处理程序中插入数据库连接?在DI容器中注册IDbConnection好吗?如果我有几个数据库连接怎么办?我应该如何处理它们?查询处理程序应该是http请求的处理程序(作用域)还是与每个请求一起创建(瞬态)?您可以创建将创建新连接实例的DBConnectionFactory。像这样 public class DBConnectionFactory { public
我应该如何在查询处理程序中插入数据库连接?在DI容器中注册IDbConnection好吗?如果我有几个数据库连接怎么办?我应该如何处理它们?查询处理程序应该是http请求的处理程序(作用域)还是与每个请求一起创建(瞬态)?您可以创建将创建新连接实例的
DBConnectionFactory
。像这样
public class DBConnectionFactory {
public IDBConnection Create() {
// todo: read conn str from web.confing
// create connection
}
}
将工厂注册到DI容器中,并将其注入查询处理程序中
查询处理程序的示例场景
- 从工厂创建连接
- 使用连接执行查询
- 处理连接
对于
命令处理程序
尝试通过在事务中包装所有更新、插入和删除,在单个命令中执行所有逻辑。您可以创建将创建新连接实例的DBConnectionFactory
。像这样
public class DBConnectionFactory {
public IDBConnection Create() {
// todo: read conn str from web.confing
// create connection
}
}
将工厂注册到DI容器中,并将其注入查询处理程序中
查询处理程序的示例场景
- 从工厂创建连接
- 使用连接执行查询
- 处理连接
对于
命令处理程序
尝试在单个命令中执行所有逻辑,方法是将所有更新、插入和删除包装到事务中。请编写整个代码请编写整个代码