DotNetNext / SqlSugar

.Net aot ORM Fastest ORM Simple Easy VB.NET Sqlite orm Oracle ORM Mysql Orm 虚谷数据库 postgresql ORm SqlServer oRm 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET5 ORM .NET6 ORM ClickHouse orm QuestDb ,TDengine ORM,OceanBase orm,GaussDB orm ,Tidb orm Object/Relational Mapping
https://www.donet5.com/Home/Doc
MIT License
5.35k stars 1.34k forks source link

动态分配连接数据库 #915

Closed easy999000 closed 3 years ago

easy999000 commented 3 years ago

现在的sqlsugar的使用流程是,先确立数据库的连接,然后执行查询操作. 我现在假设有这样一种情况,一个系统中,有多个数据库,结构不同,分管不同的功能. 那么在实例化sqlsugar连接的时候,不指定的具体的数据库,或者内部实例化所有的数据库连接. 然后在执行查询方法的时候,根据反射的表名,和配置的对应关系,找到应该连接的数据库连接实例,然后在对应的数据库上,进行操作.

比如 var db=new DBHelper();///这里不指定连接具体的数据库 db.Queryable();//根据user反射对应的表名,然后通过一个配置功能,去确认连接哪个数据库.

我的这个想法要如何实现呢

DotNetNext commented 3 years ago

文档多租户

easy999000 commented 3 years ago

我仔细的看了多租户的文档,多租户这个功能和我需要用到的并不一样. 我的一个系统有多个数据库,里面存放着不同的表. 当我使用多租户的模式的时候,我是把整个 SqlSugarClient 对象的连接切换到其中的一个db上去了.那么对于其他db的查询就要报错了. 我是想实现 同一个db对象,同时可以从不同的数据库里面查找数据. 比如a1表自动的到a库里面去查找,b1表自动的到b数据库里面去查找. 现在这种情况,多租户的功能,不论我把数据库切换到哪个指向上,都会有一个查询报错.

znyet commented 2 years ago

@easy999000 https://www.nuget.org/packages/Dapper.Sharding/