mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-20 10:38:09 +08:00
超级表逻辑
This commit is contained in:
@@ -34,7 +34,7 @@ namespace SqlSugar
|
|||||||
var tagString = string.Join(",", tagValues.Where(v => !string.IsNullOrEmpty(v)).Select(v => $"'{v.ToSqlFilter()}'"));
|
var tagString = string.Join(",", tagValues.Where(v => !string.IsNullOrEmpty(v)).Select(v => $"'{v.ToSqlFilter()}'"));
|
||||||
tags.Add(tagString);
|
tags.Add(tagString);
|
||||||
this.Context.Ado.ExecuteCommand($"CREATE TABLE IF NOT EXISTS {childTableName} USING {sTableName} TAGS ({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();
|
return inserObjects.Count();
|
||||||
@@ -59,7 +59,7 @@ namespace SqlSugar
|
|||||||
var tagString = string.Join(",", tagValues.Where(v => !string.IsNullOrEmpty(v)).Select(v => $"'{v.ToSqlFilter()}'"));
|
var tagString = string.Join(",", tagValues.Where(v => !string.IsNullOrEmpty(v)).Select(v => $"'{v.ToSqlFilter()}'"));
|
||||||
tags.Add(tagString);
|
tags.Add(tagString);
|
||||||
await this.Context.Ado.ExecuteCommandAsync($"CREATE TABLE IF NOT EXISTS {childTableName} USING {sTableName} TAGS ({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();
|
return inserObjects.Count();
|
||||||
@@ -83,6 +83,23 @@ namespace SqlSugar
|
|||||||
return tagValues;
|
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)
|
private static IEnumerable<IGrouping<string, T>> GetGroupInfos(T[] inserObjects, STableAttribute? attr)
|
||||||
{
|
{
|
||||||
var groups = inserObjects.GroupBy(it =>
|
var groups = inserObjects.GroupBy(it =>
|
||||||
|
Reference in New Issue
Block a user