我有一个新的.NET Core Web API项目,该项目具有以下项目结构:API->业务/域->基础架构仅使用API方法的API非常薄。业务/域层具有我所有的业务逻辑。最后,我的基础架构层具有使用EF Core 2.0的数据库类。我知道使用.NET Core内置的依赖项注入,我可以将API项目中的引用添加到Infrastructure项目中,然后在StartUp.cs文件中添加以下代码:services.AddDbContext<MyContext>(options => options.UseSqlServer(connectionString));但是,我想保持更传统的关注点分离。到目前为止,我已经在我的基础结构层中添加了一个模块,尝试像这样进行注册:builder.Register(c => { var config = c.Resolve<IConfiguration>(); var opt = new DbContextOptionsBuilder<MyContext>(); opt.UseSqlServer(config.GetSection("ConnectionStrings:MyConnection:ConnectionString").Value); return new MyContext(opt.Options); }).AsImplementedInterfaces().InstancePerLifetimeScope();但是,未注册DBContext。任何尝试访问注入的DBContext的类都无法解析该参数。是否可以在.NET Core Web API项目中使用AuftoFac在单独的项目中注册DBContext?
3 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
我认为问题在于您正尝试MyContext()
使用进行注册AsImplementedInterfaces()
。通常,这不是DbContext的注册方式。您应该注册并解析类本身。
- 3 回答
- 0 关注
- 206 浏览
添加回答
举报
0/150
提交
取消