mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-05 05:07:57 +08:00
超级表逻辑
This commit is contained in:
parent
f0dfc16c3b
commit
f761e1bc03
@ -34,7 +34,7 @@ namespace SqlSugar
|
||||
var tagString = string.Join(",", tagValues.Where(v => !string.IsNullOrEmpty(v)).Select(v => $"'{v.ToSqlFilter()}'"));
|
||||
tags.Add(tagString);
|
||||
this.Context.Ado.ExecuteCommand($"CREATE TABLE IF NOT EXISTS {childTableName} USING {sTableName} TAGS ({tagString})");
|
||||
this.Context.Insertable(pageItems).AS(childTableName).ExecuteCommand();
|
||||
this.Context.Insertable(pageItems).IgnoreColumns(GetTagNames(pageItems.First(), attr).ToArray()).AS(childTableName).ExecuteCommand();
|
||||
});
|
||||
}
|
||||
return inserObjects.Count();
|
||||
@ -59,7 +59,7 @@ namespace SqlSugar
|
||||
var tagString = string.Join(",", tagValues.Where(v => !string.IsNullOrEmpty(v)).Select(v => $"'{v.ToSqlFilter()}'"));
|
||||
tags.Add(tagString);
|
||||
await this.Context.Ado.ExecuteCommandAsync($"CREATE TABLE IF NOT EXISTS {childTableName} USING {sTableName} TAGS ({tagString})");
|
||||
await this.Context.Insertable(pageItems).AS(childTableName).ExecuteCommandAsync();
|
||||
await this.Context.Insertable(pageItems).IgnoreColumns(GetTagNames(pageItems.First(), attr).ToArray()).AS(childTableName).ExecuteCommandAsync();
|
||||
});
|
||||
}
|
||||
return inserObjects.Count();
|
||||
@ -83,6 +83,23 @@ namespace SqlSugar
|
||||
return tagValues;
|
||||
}
|
||||
|
||||
private static List<string> GetTagNames(T obj, STableAttribute attr)
|
||||
{
|
||||
var tagValues = new List<string>();
|
||||
if (attr.Tag1 != null)
|
||||
tagValues.Add(attr.Tag1);
|
||||
|
||||
if (attr.Tag2 != null)
|
||||
tagValues.Add(attr.Tag2);
|
||||
|
||||
if (attr.Tag3 != null)
|
||||
tagValues.Add(attr.Tag3);
|
||||
|
||||
if (attr.Tag4 != null)
|
||||
tagValues.Add(attr.Tag4);
|
||||
return tagValues;
|
||||
}
|
||||
|
||||
private static IEnumerable<IGrouping<string, T>> GetGroupInfos(T[] inserObjects, STableAttribute? attr)
|
||||
{
|
||||
var groups = inserObjects.GroupBy(it =>
|
||||
|
Loading…
Reference in New Issue
Block a user