2

我正在为 Web API + MVC 5 项目(使用 StructureMap)设置 NPoco 以进行依赖注入,但我不确定管理数据库连接的最佳实践是什么。我应该使用单例,还是按请求范围,或者别的什么?API/MVC 控制器本身并没有真正使用数据库,而是最终将其注入到 Mediatr CQRS 处理程序中。

目前我正在使用安装类

public static class DbFactory
{
    public static DatabaseFactory Factory { get; set; }

    public static void Setup()
    {
        Factory = DatabaseFactory.Config(x =>
        {
            x.UsingDatabase(() => new Database("con"));
            //x.WithFluentConfig(fluentConfig);
            //x.WithMapper(new Mapper());
        });
    }
}

像这样配置了 StrucureMap

// called from global.asax

DbFactory.Setup();

var container = new Container(cfg =>
{
    // ... other stuff

    cfg.For<IDatabase>().Use(() => DbFactory.Factory.GetDatabase());
});
4

0 回答 0