ORM中First,FirstOrDefault和singleOrDefault关键字之间的区别

时间:2014-07-10 07:44:13

标签: linq c#-4.0 orm telerik

eI需要从按日期降序排序的第一行中选择特定的单个数据元素。请指定以下关键字之间的差异。

  • 第一
  • FirstOrDefault
  • singleOrDefault

还需要放置Orderby的优先级/顺序和使用规则,其中&在Linq ORM查询中选择。如果答案清楚可见会很有帮助。描述

提前致谢

1 个答案:

答案 0 :(得分:3)

快速Google会为您提供以下问题,以解答您的问题:

您可能还会发现以下文章对每种方法都有用:

正如答案中所述,这些名字确实给了它(对那些熟悉的人),但这里是一个快速概述:

<强>第一

将返回集合中的第一个条目(返回一个或多个结果),如果没有返回记录,则会抛出异常。

<强> FirstOrDefault

将返回集合中的第一个条目(返回一个或多个结果),如果没有返回记录,将返回相应的默认对象

<强>的SingleOrDefault

这个与前面提到的函数并不完全相同,只有返回一条记录才返回结果,否则返回相应的默认对象。

我倾向于使用First如果我知道我的结果总是返回“某事”,当我只想要第一个元素时我会使用FirstOrDefault但有时候知道查询可能什么都不返回。我还没有亲自使用SingleOrDefault,但它只应该在你的查询只返回一行的情况下使用,如果存在多个结果,则应该忽略返回的结果。