为了账号安全,请及时绑定邮箱和手机立即绑定

AutoFac / .NET Core-注册DBcontext

AutoFac / .NET Core-注册DBcontext

C#
撒科打诨 2021-05-19 10:30:37
我有一个新的.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的注册方式。您应该注册并解析类本身。


查看完整回答
反对 回复 2021-05-23
  • 3 回答
  • 0 关注
  • 206 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信