perf SplitFastest

This commit is contained in:
一万里
2022-09-01 13:44:59 +08:00
parent 875e54b520
commit 2dbf28b9f8

View File

@@ -114,11 +114,17 @@ namespace SqlSugar
Check.Exception(attribute == null, $"{typeof(T).Name} need SplitTableAttribute");
groupModels = new List<GroupModel>();
var db = FastestProvider.context;
var hasSplitField = typeof(T).GetProperties().Any(it => it.GetCustomAttribute<SplitFieldAttribute>() != null);
foreach (var item in datas)
{
var value = db.SplitHelper<T>().GetValue(attribute.SplitType, item);
var tableName = db.SplitHelper<T>().GetTableName(attribute.SplitType,value);
groupModels.Add(new GroupModel() { GroupName = tableName, Item = item });
if (groupModels.Count > 0 && !hasSplitField)
groupModels.Add(new GroupModel() { GroupName = groupModels[0].GroupName, Item = item });
else
{
var value = db.SplitHelper<T>().GetValue(attribute.SplitType, item);
var tableName = db.SplitHelper<T>().GetTableName(attribute.SplitType, value);
groupModels.Add(new GroupModel() { GroupName = tableName, Item = item });
}
}
result = 0;
}