首页 > 解决方案 > FirstOrDefault 或 FirstOrDefaultAsync 核心选择什么

问题描述

我仍然找不到有关使用 FirstOrDefault / FirstOrDefaultAsync、First / FirstAsync 和 ToList / ToListAsync 的合适信息。一切都是异步的,这是一个好习惯吗?谢谢您的帮助。

标签: c#asynchronousentity-framework-core

解决方案


简单来说,它基本上就像,说你有一些耗时的任务要完成。

你可以做两件事,

  • 自己做,>>你必须坚持到任务完成
  • 把它委托给其他人,其他>>人会得到结果,所以你不必在那里耽搁时间。

在编程中,Async在这些情况下可以帮助你,这样你就不需要让你的主thread线程等待它完成,而是可以通过使用将控制权传递给其他线程async/await

FirstOrDefault>> 当您已经拥有数据并且想要在未找到匹配时返回第一个匹配值或默认值时使用。

First>> 如果找到否则将返回第一个匹配的值抛出错误,请注意在使用 First 时处理错误。最好改用FirstOrDefaultFirst

ToList>> 将您的数据集转换为列表对象。

Async当您必须等待数据(可能是 dboperation/apicall)然后您想要执行相应的操作时,将使用这些版本。


推荐阅读