mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 13:06:50 +08:00
Optimize split table
This commit is contained in:
parent
31b0a715b4
commit
b8da23f9e7
@ -68,6 +68,9 @@ namespace OrmTest
|
|||||||
Console.WriteLine();
|
Console.WriteLine();
|
||||||
////强制分表类型
|
////强制分表类型
|
||||||
var x4 = db.Insertable(new OrderSpliteTest() { Name = "A" ,Time=DateTime.Now.AddDays(-1) }).SplitTable().ExecuteCommand();
|
var x4 = db.Insertable(new OrderSpliteTest() { Name = "A" ,Time=DateTime.Now.AddDays(-1) }).SplitTable().ExecuteCommand();
|
||||||
|
|
||||||
|
var tableName21 = db.SplitHelper<OrderSpliteTest>().GetTableName(DateTime.Now.AddDays(-111));
|
||||||
|
var listNull = db.Queryable<OrderSpliteTest>().SplitTable(ta => ta.InTableNames(tableName21)).ToList();
|
||||||
Console.WriteLine("#### CodeFirst end ####");
|
Console.WriteLine("#### CodeFirst end ####");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,6 +68,10 @@ namespace OrmTest
|
|||||||
Console.WriteLine();
|
Console.WriteLine();
|
||||||
////强制分表类型
|
////强制分表类型
|
||||||
var x4 = db.Insertable(new OrderSpliteTest() { Name = "A" ,Time=DateTime.Now.AddDays(-1) }).SplitTable().ExecuteCommand();
|
var x4 = db.Insertable(new OrderSpliteTest() { Name = "A" ,Time=DateTime.Now.AddDays(-1) }).SplitTable().ExecuteCommand();
|
||||||
|
|
||||||
|
|
||||||
|
var tableName21 = db.SplitHelper<OrderSpliteTest>().GetTableName(DateTime.Now.AddDays(-111));
|
||||||
|
var listNull = db.Queryable<OrderSpliteTest>().SplitTable(ta => ta.InTableNames(tableName21)).ToList();
|
||||||
Console.WriteLine("#### CodeFirst end ####");
|
Console.WriteLine("#### CodeFirst end ####");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,10 @@ namespace OrmTest
|
|||||||
|
|
||||||
Console.WriteLine();
|
Console.WriteLine();
|
||||||
|
|
||||||
var tableName = db.SplitHelper<OrderSpliteTest>().GetTableName(DateTime.Now.AddDays(-1));
|
var tableName = db.SplitHelper<OrderSpliteTest>().GetTableName(DateTime.Now.AddDays(-111));
|
||||||
|
|
||||||
|
var listNull= db.Queryable<OrderSpliteTest>().SplitTable(ta => ta.InTableNames(tableName)).ToList();
|
||||||
|
|
||||||
var tableName2 = db.SplitHelper(new OrderSpliteTest() { Time=DateTime.Now}).GetTableNames();
|
var tableName2 = db.SplitHelper(new OrderSpliteTest() { Time=DateTime.Now}).GetTableNames();
|
||||||
var tableName3 = db.SplitHelper(new List<OrderSpliteTest> {
|
var tableName3 = db.SplitHelper(new List<OrderSpliteTest> {
|
||||||
new OrderSpliteTest() { Time = DateTime.Now },
|
new OrderSpliteTest() { Time = DateTime.Now },
|
||||||
|
@ -931,11 +931,19 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
tableQueryables.Add(this.Clone().AS(item.TableName));
|
tableQueryables.Add(this.Clone().AS(item.TableName));
|
||||||
}
|
}
|
||||||
Check.Exception(tableQueryables.Count == 0, ErrorMessage.GetThrowMessage("SplitTable error . There are no tables after filtering", "SplitTable没有筛选出分表,请检查条件和数据库中的表"));
|
if (tableQueryables.Count == 0)
|
||||||
var unionall = this.Context._UnionAll(tableQueryables.ToArray());
|
{
|
||||||
|
var result= this.Context.SqlQueryable<object>("-- No table ").Select<T>();
|
||||||
|
result.QueryBuilder.SelectValue = null;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var unionall = this.Context._UnionAll(tableQueryables.ToArray());
|
||||||
|
return unionall;
|
||||||
|
}
|
||||||
//var values= unionall.QueryBuilder.GetSelectValue;
|
//var values= unionall.QueryBuilder.GetSelectValue;
|
||||||
//unionall.QueryBuilder.SelectValue = values;
|
//unionall.QueryBuilder.SelectValue = values;
|
||||||
return unionall;
|
|
||||||
}
|
}
|
||||||
public ISugarQueryable<T> Distinct()
|
public ISugarQueryable<T> Distinct()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user