v3.2.666-preview20220828 #1106 #1104 #668 #478 #432 #213 #138

This commit is contained in:
2881099
2022-08-26 18:29:14 +08:00
parent 2fc9d39131
commit d99e72abd6
31 changed files with 39 additions and 32 deletions

View File

@ -17,7 +17,7 @@
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
<DelaySign>false</DelaySign>
<Version>3.2.666-preview20220827</Version>
<Version>3.2.666-preview20220828</Version>
</PropertyGroup>
<ItemGroup>

View File

@ -193,7 +193,7 @@ namespace FreeSql
ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> From<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(Expression<Func<ISelectFromExpression<T1>, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, ISelectFromExpression<T1>>> exp = null) where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class where T10 : class where T11 : class where T12 : class where T13 : class where T14 : class where T15 : class where T16 : class;
ISelect<T1, T2> FromQuery<T2>(ISelect<T2> select2) where T2 : class;
ISelect<T1> UnionAll(ISelect<T1> select2);
ISelect<T1> UnionAll(params ISelect<T1>[] querys);
/// <summary>
/// 查询条件Where(a => a.Id > 10)支持导航对象查询Where(a => a.Author.Email == "2881099@qq.com")

View File

@ -172,12 +172,15 @@ namespace FreeSql.Internal.CommonProvider
if (retsp._tableRules.Count == 0) ret.WithSql(null, $" \r\n{sql2}");
return ret;
}
public ISelect<T1> UnionAll(ISelect<T1> select2)
public ISelect<T1> UnionAll(params ISelect<T1>[] querys)
{
var sql1 = this.ToSql();
var sql2 = select2.ToSql();
var ret = (_orm as BaseDbProvider).CreateSelectProvider<T1>(null) as Select1Provider<T1>;
ret.WithSql($"{sql1} \r\nUNION ALL \r\n{sql2}");
var sb = new StringBuilder().Append(this.ToSql());
foreach (var select2 in querys)
sb.Append(" \r\nUNION ALL \r\n").Append(select2.ToSql());
ret.WithSql(sb.ToString());
sb.Clear();
ret._commandTimeout = _commandTimeout;
ret._connection = _connection;
ret._transaction = _transaction;