有一个关于SAAS分库的数据库对象注入问题。 返回
SqlSugar
沟通中
1
421
悬赏:0 飞吻
一个主库,存储了租户信息,以及对应的数据库连接参数。
多个子库,存储各自业务数据。
我设计了一个数据库对象提供器,叫做 DbProvider。后期注入到仓储层代码里。
其内部有一个属性public SqlSugarProvider BizDb{ get=>? }
作用是
1、根据请求token获取租户ID。
2、根据租户ID,从redis或者数据库中读取该租户的连接参数。
3、把连接参数写入ISqlSugarClient,并通过GetConnection获取连接对象,然后返回。
现在问题出在第2点。
想要实现第2点,那DbProvider就需要注入租户服务,才可以根据租户ID获取连接参数。
但是租户服务本身也要连接数据库,它用到 DbProvider 里的MasterDb连接。
这就导致会交叉引用。请问是我的设计错误,还是有什么解决办法?
热忱回答(1)
-
fate sta VIP0
2026/3/17文档:写的很清楚了按SAAS分库中SqlSugarClient的用法写就行了
0 回复