- 修复 自动分表 IUpdate/IDelete AsTable 不生效的问题;

This commit is contained in:
2881099
2023-05-18 11:27:23 +08:00
parent ce26c7eddb
commit e79860164d
6 changed files with 120 additions and 120 deletions

View File

@ -196,8 +196,9 @@ namespace FreeSql.Internal.CommonProvider
}
var sb = new StringBuilder();
if (_table.AsTableImpl != null)
if (_table.AsTableImpl != null && _tableRule != null && string.IsNullOrWhiteSpace(_tableRule(_table.DbName)) == true)
{
var oldTableRule = _tableRule;
var names = _table.AsTableImpl.GetTableNamesBySqlWhere(newwhere.ToString(), _params, new SelectTableInfo { Table = _table }, _commonUtils);
foreach (var name in names)
{
@ -206,6 +207,7 @@ namespace FreeSql.Internal.CommonProvider
_interceptSql?.Invoke(sb);
fetch(sb);
}
_tableRule = oldTableRule;
return;
}
@ -229,8 +231,9 @@ namespace FreeSql.Internal.CommonProvider
}
var sb = new StringBuilder();
if (_table.AsTableImpl != null)
if (_table.AsTableImpl != null && _tableRule != null && string.IsNullOrWhiteSpace(_tableRule(_table.DbName)) == true)
{
var oldTableRule = _tableRule;
var names = _table.AsTableImpl.GetTableNamesBySqlWhere(newwhere.ToString(), _params, new SelectTableInfo { Table = _table }, _commonUtils);
foreach (var name in names)
{
@ -239,6 +242,7 @@ namespace FreeSql.Internal.CommonProvider
_interceptSql?.Invoke(sb);
await fetchAsync(sb);
}
_tableRule = oldTableRule;
return;
}

View File

@ -1004,8 +1004,9 @@ namespace FreeSql.Internal.CommonProvider
ToSqlWhere(newwhere);
var sb = new StringBuilder();
if (_table.AsTableImpl != null)
if (_table.AsTableImpl != null && _tableRule != null && string.IsNullOrWhiteSpace(_tableRule(_table.DbName)) == true)
{
var oldTableRule = _tableRule;
var names = _table.AsTableImpl.GetTableNamesBySqlWhere(newwhere.ToString(), _params, new SelectTableInfo { Table = _table }, _commonUtils);
foreach (var name in names)
{
@ -1013,6 +1014,7 @@ namespace FreeSql.Internal.CommonProvider
ToSqlExtension110(sb.Clear(), true);
fetch(sb);
}
_tableRule = oldTableRule;
return;
}
@ -1036,8 +1038,9 @@ namespace FreeSql.Internal.CommonProvider
ToSqlWhere(newwhere);
var sb = new StringBuilder();
if (_table.AsTableImpl != null)
if (_table.AsTableImpl != null && _tableRule != null && string.IsNullOrWhiteSpace(_tableRule(_table.DbName)) == true)
{
var oldTableRule = _tableRule;
var names = _table.AsTableImpl.GetTableNamesBySqlWhere(newwhere.ToString(), _params, new SelectTableInfo { Table = _table }, _commonUtils);
foreach (var name in names)
{
@ -1045,6 +1048,7 @@ namespace FreeSql.Internal.CommonProvider
ToSqlExtension110(sb.Clear(), true);
await fetchAsync(sb);
}
_tableRule = oldTableRule;
return;
}