Difference between First, FirstOrDefault and singleOrDefault keywords in ORM
EI需要从按日期降序排列的第一行中选择特定的单个数据元素。请指定以下关键字之间的差异。
- 弗斯特
- 首次违约
- 单一违约
还需要放置orderby的优先级/顺序和使用规则,在Linq ORM查询中进行选择。如果答案清晰且具有描述性,将非常有帮助。
提前谢谢
一个快速的google会给你以下的问题来解决你的问题:
何时使用.first以及何时使用.firstordefault与linq?
Linq:何时使用带有筛选条件的singleOrDefault与firstOrDefault()。
在每个方法中,您可能还会发现以下文章非常有用:
- http://www.technicaloverload.com/linq-single-vs-singleordefault-vs-first-vs-first-ordefault/
如答案中所述,这些名字的确会泄露给(熟悉的人),但这里有一个简短的概述:
弗斯特
将返回集合中的第一个条目(返回一个或多个结果),如果没有返回任何记录,将引发异常。
首次违约
将返回集合中的第一个条目(返回一个或多个结果),如果未返回任何记录,将返回相应的默认对象
单一违约
这个函数与前面提到的函数并不完全相同,只有返回一条记录时才会返回结果,否则将返回相应的默认对象。
我倾向于使用