Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 在林克,什么';.FirstOrDefault和.SingleOrDefault之间的区别是什么_Linq_Entity Framework - Fatal编程技术网

Linq 在林克,什么';.FirstOrDefault和.SingleOrDefault之间的区别是什么

Linq 在林克,什么';.FirstOrDefault和.SingleOrDefault之间的区别是什么,linq,entity-framework,Linq,Entity Framework,我不知道FirstOrDefault和SingleOrDefault之间的区别。何时使用第一个和何时使用第二个?如果存在多个项,SingleOrDefault将引发“序列包含多个元素”异常。FirstOrDefault()用于输入集合中预期存在零个或多个结果,如果有多个结果,调用将返回第一项,如果没有,则返回默认值 SingleOrDefault()用于输入集合中预期为零或一个结果,如果正好存在一个结果,调用将返回一个结果;如果没有结果,则返回默认值;如果有多个结果,则返回异常。firstord

我不知道
FirstOrDefault
SingleOrDefault
之间的区别。何时使用第一个和何时使用第二个?

如果存在多个项,SingleOrDefault将引发“序列包含多个元素”异常。

FirstOrDefault()用于输入集合中预期存在零个或多个结果,如果有多个结果,调用将返回第一项,如果没有,则返回默认值


SingleOrDefault()
用于输入集合中预期为零或一个结果,如果正好存在一个结果,调用将返回一个结果;如果没有结果,则返回默认值;如果有多个结果,则返回异常。

firstordefault它将获取行数,但如果是第一个结果,则只返回第一个结果 null它可以处理异常 首先,它将获取行数,但如果是,则只返回其中的第一行 null它将抛出异常 singleordefault它将只接受一行,但将返回它。如果它为null,则可以处理异常 它将只接受一行,但将返回它&无法处理异常

如果结果集返回0条记录:

SingleOrDefault返回类型的默认值(例如int的默认值为0) FirstOrDefault返回类型的默认值 如果结果集返回1条记录:

SingleOrDefault返回该记录 FirstOrDefault返回该记录 如果结果集返回多条记录:

SingleOrDefault引发异常 FirstOrDefault返回第一条记录 结论:

如果希望在结果集包含多条记录时引发异常,请使用SingleOrDefault


如果无论结果集包含什么,您总是想要一条记录,请在此处使用FirstOrDefault

一些非常好的对话: