fix WithTempQuery + FromQuery AsTable bug

This commit is contained in:
2881099
2022-07-26 10:49:45 +08:00
parent 6870f92735
commit cb842706ec
3 changed files with 70 additions and 4 deletions

View File

@ -873,9 +873,9 @@ namespace FreeSql.Internal.CommonProvider
_tableRules.Clear();
tableRule = (type, old) =>
{
var tbname = newTableRule(type, null);
if (tbname != null) return tbname;
return oldTableRule(type, old);
old = oldTableRule(type, old);
var newname = newTableRule(type, old);
return string.IsNullOrWhiteSpace(newname) ? old : newname;
};
}
if (tableRule != null) _tableRules.Add(tableRule);

View File

@ -146,7 +146,25 @@ namespace FreeSql.Internal.CommonProvider
if (string.IsNullOrWhiteSpace(sql2))
sql2 = select2?.ToSql("*");
}
return ret.WithSql(null, $" \r\n{sql2}");
if (retsp._tableRules.Count > 0)
{
var tbrules = retsp._tableRules.ToList();
retsp._tableRules.Clear();
tbrules.ForEach(tbrule =>
{
var tbruler1 = tbrule(typeof(T1), retsp._tables[0].Table.DbName);
if (string.IsNullOrWhiteSpace(tbruler1) == false)
retsp._tableRules.Add((type, old) =>
{
if (type == typeof(T1)) return tbruler1;
if (type == typeof(T2)) return $"( \r\n{sql2})";
return old;
});
});
}
if (retsp._tableRules.Count == 0) ret.WithSql(null, $" \r\n{sql2}");
return ret;
}
public ISelectGrouping<TKey, T1> GroupBy<TKey>(Expression<Func<T1, TKey>> columns)