本文介绍了"ToListAsync()"之间的区别是:和"AsAsyncEnumerable().ToList()";的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

函数需要返回 Task< List< Record>> 在这两个选项之后都返回 Task< List< Record>> ,哪个效率更高?这里有什么标准的方法吗?

Function need to return Task<List<Record>>Following both options are returning Task<List<Record>>, which one is more efficient? Is there any standard way here?

选项1:

Task<List<Record>> GetRecords()
{
    return
    DbContext.Set<Record>.Where(predicate).ToListAsync();
}

选项2:

Task<List<Record>> GetRecords()
{
    return
    DbContext.Set<Record>.Where(predicate).AsAsyncEnumerable().ToList();
}

推荐答案

请注意,这是.NET Core 3.x之前的版本.
在下面的@IanKemp的评论中查找更新.

Note that this is a pre .NET Core 3.x answer.
Find an update in the comment of @IanKemp here below.

选择选项1 ToListAsync 作为 AsAsyncEnumerable 的源代码明确提及

Go for option 1 ToListAsync as the source code of AsAsyncEnumerable explicitly mentions

官方文档提及

这篇关于"ToListAsync()"之间的区别是:和"AsAsyncEnumerable().ToList()";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-15 15:30