咨询一个使用ChangeDatabase和GetConnectionScope哪种切换更好 返回
在asp.net core mvc的项目中会有多个数据库,通过依赖注入的,在切换数据库的时候我想咨询一个使用ChangeDatabase和GetConnectionScope哪种方式切换更高效或者说更好呢?
(不同的库的对象是用的SugarTable的TableDescription来作为configId标识的)

热忱回答(7)
-
fate sta VIP0
2025/8/19推荐用 GetConnectionScope ,不推荐用ChangeDatabase
GetConnectionScope 比ChangeDatabase设计的更好,支持多库同时存在。ChangeDatabase只能切来切去。ChangeDatabase设计难要求过高
0 回复 -
leon VIP0
2025/8/19好的,那使用GetConnectionScope 的时候是否有必要判断一下当前的configid是否一致,就是这个判断是否有必要呢
0 回复 -
leon VIP0
2025/8/19还有就是上面的return接收的时候是用ISqlSugarClient好,还是直接用SqlSugarScopeProvider好呢
0 回复 -
fate sta VIP0
2025/8/19都行。ISqlSugarClient 好些
0 回复 -
leon VIP0
2025/8/19@fate sta:主要是考虑判断一下少一个调用性能会不会更好一点
0 回复 -
fate sta VIP0
2025/8/19@leon:性能2者差异可以忽略,change这种是比较老的设计用的人少
0 回复 -
leon VIP0
2025/8/19@fate sta:我说的是这个判断的性能差异,就是如果当前的ConfigId和标识的一致就不去调用GetConnectionScope对性能会不会有提升
if (configId != _dbBaseTmp.CurrentConnectionConfig.ConfigId.ToString())//这个判断是否有必要
{
return _dbBaseTmp.GetConnectionScope(configId);
}
else
{
return _dbBaseTmp;
}
0 回复