mysql ef跨库查询_efcore 跨库查询,实现一个接口内查询两个不同数据库里各自的表数据...

本文档介绍了如何在EFCore中实现跨库查询,通过DbFactory类来动态获取不同的数据库访问接口,从而在一个接口下完成对多个数据库的查询操作。这种方法避免了预先依赖注入和自定义接口的限制,提高了代码的灵活性。
摘要由CSDN通过智能技术生成

最近有efcore跨库查询的需求,研究了下colder框架里文档的分库实现,发现并不能完全实现一个接口下的跨库查询请求,只能满足一个业务层构造指定的唯一一个数据库访问接口。

先说下文档是怎么实现的

DbAccessor实现使用多数据库

默认框架会自动注入IDbAccessor作为数据库访问接口,在需要的时候注入即可,若系统需要操作多个数据库,那么需要定义额外的接口继承IDbAccessor然后配置注入进去即可访问

先定义新的接口IMyDbAccessor

ad22d20a0e2114ea6f9865bceeeb72f2.png

然后配置数据库类型和连接字符串

2be923c6bf7dec45637311df85a0c8d7.png

使用IMyDbAccessor

51d8c1e0988912aed052246a81414cb5.png

这样就可以在任何地方注入并使用IMyDbAccessor,更多数据库同理配置即可

--上面的缺陷在于BaseBussiness 中只能构造一个IMyDbAccessor,也就是说只能注入和使用一个数据库的数据访问接口。

DbFactory.Get

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值