In Linq, what's the difference between .FirstOrDefault and .SingleOrDefault
我不知道
如果存在多个项,singleOrDefault将引发"sequence contains more one element"异常。
first或default它将占用行数,但如果是,则只返回其中的第一行。空它可以处理异常首先,它需要行数,但如果是,它只返回第一行。空它将引发异常singleOrDefault它只需要一行,但如果为空则返回它可以处理异常。单个它将只占用一行,但将返回它&;无法处理异常
如果结果集返回0条记录:
singleOrDefault返回类型的默认值(例如,int的默认值为0)FirstOrDefault返回类型的默认值如果结果集返回1条记录:
singleOrDefault返回该记录FirstOrDefault返回该记录如果结果集返回许多记录:
singleOrDefault引发异常FirstOrDefault返回第一条记录结论:
如果希望在结果集包含多个记录时引发异常,请使用singleOrDefault。
如果无论结果集包含什么,始终需要1条记录,请使用FirstOrDefault