我仍然找不到有关FirstOrDefault/FirstOrDefaultAsync,First/FirstAsync和ToList/ToListAsync的合适信息。一切都是异步的好习惯吗?感谢您的帮助。
简单来说,它基本上就像,假设你有一些耗时的任务要完成。
你可以做两件事,
- 自己动手
>>
你必须坚持到任务完成 - 将其委托给其他人
>>
其他人会回复您并附上结果,因此 你不必在那里拖延时间。
在编程中,Async
在这些情况下会发挥作用来帮助您,这样您就无需在等待某些东西完成之前进行主要thread
, 而是可以使用async/await
将控件传递给其他线程。
FirstOrDefault
>>在已有数据时使用,然后在未找到匹配项时返回第一个匹配值或默认值。
如果发现否则抛出错误,First
>>将返回第一个匹配的值,在使用 First 时要注意处理错误。最好使用FirstOrDefault
而不是First
.
ToList
>>将数据集转换为列表对象。
Async
当您必须等待数据(可能是dboperation/apicall)和 然后,您要执行相应的操作。
任务异步编程模型 (TAP) 提供对异步代码的抽象。像往常一样,将代码编写为一系列语句。您可以阅读该代码,就好像每个语句在下一条语句开始之前完成一样。编译器执行许多转换,因为其中一些语句可能会开始工作并返回表示正在进行的工作的 Task。
您可以在此处查看文档
这可能是重复的