mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-12-26 22:25:49 +08:00
Update db.Inserable.UseParameter
This commit is contained in:
@@ -34,12 +34,13 @@ namespace SqlSugar
|
||||
}
|
||||
public async Task<int> ExecuteCommandAsync()
|
||||
{
|
||||
int result = 0;
|
||||
var inserable = Inserable as InsertableProvider<T>;
|
||||
var columns = inserable.InsertBuilder.DbColumnInfoList.GroupBy(it => it.DbColumnName).Select(it => it.Key).Distinct().ToList();
|
||||
var tableWithString = inserable.InsertBuilder.TableWithString;
|
||||
var removeCacheFunc = inserable.RemoveCacheFunc;
|
||||
var objects = inserable.InsertObjs;
|
||||
await this.Context.Utilities.PageEachAsync(objects, 60, pagelist =>
|
||||
await this.Context.Utilities.PageEachAsync<T,int>(objects, 60,async pagelist =>
|
||||
{
|
||||
foreach (var item in pagelist)
|
||||
{
|
||||
@@ -49,9 +50,10 @@ namespace SqlSugar
|
||||
(itemable as InsertableProvider<T>).RemoveCacheFunc = removeCacheFunc;
|
||||
itemable.AddQueue();
|
||||
}
|
||||
return this.Context.SaveQueuesAsync(false);
|
||||
result+= await this.Context.SaveQueuesAsync(false);
|
||||
return result;
|
||||
});
|
||||
return objects.Length;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -652,6 +652,19 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
}
|
||||
public async Task PageEachAsync<T, ResultType>(IEnumerable<T> pageItems, int pageSize, Func<List<T>, Task<ResultType>> action)
|
||||
{
|
||||
if (pageItems != null && pageItems.Any())
|
||||
{
|
||||
int totalRecord = pageItems.Count();
|
||||
int pageCount = (totalRecord + pageSize - 1) / pageSize;
|
||||
for (int i = 1; i <= pageCount; i++)
|
||||
{
|
||||
var list = pageItems.Skip((i - 1) * pageSize).Take(pageSize).ToList();
|
||||
await action(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,5 +36,6 @@ namespace SqlSugar
|
||||
void RemoveCache<T>(string key);
|
||||
void PageEach<T>(IEnumerable<T> pageItems, int pageSize, Action<List<T>> action);
|
||||
Task PageEachAsync<T>(IEnumerable<T> pageItems, int pageSize, Func<List<T>, Task> action);
|
||||
Task PageEachAsync<T, ResultType>(IEnumerable<T> pageItems, int pageSize, Func<List<T>, Task<ResultType>> action);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user