- 增加 ISelect.ToChunk 实现分块查询数据,减少数据过大时内存占用;

This commit is contained in:
28810
2019-09-10 16:01:01 +08:00
parent e0a23accb0
commit 564e1951d8
4 changed files with 99 additions and 0 deletions

View File

@ -46,6 +46,13 @@ namespace FreeSql
List<T1> ToList(bool includeNestedMembers = false);
Task<List<T1>> ToListAsync(bool includeNestedMembers = false);
/// <summary>
/// 执行SQL查询分块返回数据可减少内存开销。比如读取10万条数据每次返回100条处理。
/// </summary>
/// <param name="size">数据块的大小</param>
/// <param name="done">处理数据块</param>
/// <param name="includeNestedMembers">false: 返回 2级 LeftJoin/InnerJoin/RightJoin 对象true: 返回所有 LeftJoin/InnerJoin/RightJoin 的导航数据</param>
void ToChunk(int size, Action<List<T1>> done, bool includeNestedMembers = false);
/// <summary>
/// 执行SQL查询返回 field 指定字段的记录,并以元组或基础类型(int,string,long)接收,记录不存在时返回 Count 为 0 的列表
/// </summary>
/// <typeparam name="TTuple"></typeparam>