mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-08 02:14:53 +08:00
Split table
This commit is contained in:
@@ -417,6 +417,8 @@ namespace SqlSugar
|
||||
SplitInsertable<T> result = new SplitInsertable<T>();
|
||||
result.Context = this.Context;
|
||||
result.EntityInfo = this.EntityInfo;
|
||||
result.Helper = helper;
|
||||
result.SplitType = splitType;
|
||||
result.TableNames = new List<string>();
|
||||
foreach (var item in this.InsertObjs)
|
||||
{
|
||||
|
||||
@@ -9,7 +9,9 @@ namespace SqlSugar
|
||||
public class SplitInsertable<T>
|
||||
{
|
||||
public SqlSugarProvider Context;
|
||||
internal SplitTableContext Helper;
|
||||
public EntityInfo EntityInfo;
|
||||
public SplitType SplitType;
|
||||
internal IInsertable<T> Inserable { get; set; }
|
||||
internal List<string> TableNames { get; set; }
|
||||
|
||||
|
||||
@@ -836,7 +836,7 @@ namespace SqlSugar
|
||||
}
|
||||
public ISugarQueryable<T> SplitTable(Func<List<SplitTableInfo>, IEnumerable<SplitTableInfo>> getTableNamesFunc)
|
||||
{
|
||||
SplitTableHelper helper = new SplitTableHelper()
|
||||
SplitTableContext helper = new SplitTableContext()
|
||||
{
|
||||
Context=Context,
|
||||
EntityInfo=this.EntityInfo
|
||||
|
||||
@@ -10,6 +10,7 @@ namespace SqlSugar
|
||||
{
|
||||
public class DateSplitTableService : ISplitTableService
|
||||
{
|
||||
#region Core
|
||||
public List<SplitTableInfo> GetAllTables(ISqlSugarClient db, EntityInfo EntityInfo, List<DbTableInfo> tableInfos)
|
||||
{
|
||||
CheckTableName(EntityInfo.DbTableName);
|
||||
@@ -36,13 +37,11 @@ namespace SqlSugar
|
||||
{
|
||||
return GetTableName(db, EntityInfo, SplitType.Day);
|
||||
}
|
||||
|
||||
public string GetTableName(ISqlSugarClient db, EntityInfo EntityInfo, SplitType splitType)
|
||||
{
|
||||
var date = db.GetDate();
|
||||
return GetTableNameByDate(EntityInfo, splitType, date);
|
||||
}
|
||||
|
||||
public string GetTableName(ISqlSugarClient db, EntityInfo entityInfo, SplitType splitType, object fieldValue)
|
||||
{
|
||||
var value = Convert.ToDateTime(fieldValue);
|
||||
@@ -76,7 +75,6 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void VerifySplitType(SplitType splitType)
|
||||
{
|
||||
switch (splitType)
|
||||
@@ -96,6 +94,8 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Common Helper
|
||||
private string GetTableNameByDate(EntityInfo EntityInfo,SplitType splitType,DateTime date)
|
||||
{
|
||||
@@ -237,5 +237,14 @@ namespace SqlSugar
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private Models
|
||||
internal class SplitTableSort
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public int Sort { get; set; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,5 @@ namespace SqlSugar
|
||||
{
|
||||
Check.Exception(EntityInfo.Columns.Any(it => it.IsIdentity == true), ErrorMessage.GetThrowMessage("Split table can't IsIdentity=true", "分表禁止使用自增列"));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,10 +16,4 @@ namespace SqlSugar
|
||||
public int Int { get; set; }
|
||||
public Byte[] ByteArray { get; set; }
|
||||
}
|
||||
|
||||
internal class SplitTableSort
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public int Sort { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user