autofac 多个dbcontext 上下文不一致
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了autofac 多个dbcontext 上下文不一致相关的知识,希望对你有一定的参考价值。
参考技术A 正在实现一个使用EF +存储库模式+使用Autofac工作单元的MVC应用程序作为依赖注入器。我能够使用一个DbContext类,但我面临的情况是需要使用另一个DbContext实例(其他用户凭据访问另一个数据库)
让我解释更好:我有来自数据库A(并具有DatabaseA_Context类)的EntityA。所以我需要一个来自数据库B(具有自己的DatabaseB_Context类)的EntityB。
当我使用AutoFac注册时,只有最后配置的依赖关系注入到GenericRepository实现上。
I已经发现文章说Autofac覆盖了最后一个值的注册。
我已经找到其他文章,显示如果我在UnitOfWork构造函数中传递一个IEnumerable,我可以看到所有注册的类型,但我想要一个特定的。
autofac管理dbcontext
业务逻辑层的一个方法 对应一个 功能(用例) ,在这里去创建dbcontext的实例,然后调用dal 同时把这个dbcontext实例传到dal
这样写起来很麻烦
网上有个通过工作单元模式实现的上下文环境管理dbcontext的实例,感觉挺麻烦
直接在业务逻辑层的方法中创建一个autofac的生命周期范围,然后在这个范围中解析dal,这样应该可行
其实感觉小项目用ef不需要dal
以上是关于autofac 多个dbcontext 上下文不一致的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Autofac 注入相同的 DbContext 实例来处理 HTTP 请求而不会导致并发问题?
AutoFac DbContext 问题 - 在创建模型时无法使用
将 DbContext 拆分为具有重叠 DbSet 的多个上下文
从零开始搭建前后端分离的NetCore(EF Core CodeFirst+Au)+Vue的项目框架之二autofac解耦