Add Union All

This commit is contained in:
sunkaixuan 2017-07-12 01:14:33 +08:00
parent 8afd7760b1
commit 10aecba11c
2 changed files with 24 additions and 2 deletions

View File

@ -178,6 +178,8 @@ namespace OrmTest.Demo
var between = db.Queryable<Student>().Where(it => SqlFunc.Between(it.Id, 1, 20)).ToList();
var getTodayList = db.Queryable<Student>().Where(it => SqlFunc.DateIsSame(it.CreateTime, DateTime.Now)).ToList();
var unionAll = db.UnionAll<Student>(db.Queryable<Student>(),db.Queryable<Student>());
}
public static void Page()
{

View File

@ -224,6 +224,25 @@ namespace SqlSugar
queryable.Where(joinExpression);
return queryable;
}
public virtual List<T> UnionAll<T>(params ISugarQueryable<T>[] queryables) where T : class, new()
{
if (queryables.IsNullOrEmpty()) return new List<T>();
List<T> result = new List<T>();
foreach (var item in queryables)
{
var addItems = item.ToList();
if (addItems.IsValuable())
{
result.AddRange(addItems);
}
}
return result;
}
public virtual List<T> UnionAll<T>(List<ISugarQueryable<T>> queryables) where T : class, new()
{
if (queryables.IsNullOrEmpty()) return new List<T>();
return UnionAll(queryables.ToArray());
}
#endregion
#region Insertable
@ -259,7 +278,7 @@ namespace SqlSugar
{
return this.Deleteable<T>().In(primaryKeyValue);
}
public virtual IDeleteable<T> Deleteable<T>(dynamic [] primaryKeyValues) where T : class, new()
public virtual IDeleteable<T> Deleteable<T>(dynamic[] primaryKeyValues) where T : class, new()
{
return this.Deleteable<T>().In(primaryKeyValues);
}
@ -383,7 +402,8 @@ namespace SqlSugar
{
get
{
if (_SimpleClient == null) {
if (_SimpleClient == null)
{
_SimpleClient = new SimpleClient(this);
}
return _SimpleClient;