首页 > 其他分享 >LINQ: When to use SingleOrDefault vs. FirstOrDefault() with filtering criteria

LINQ: When to use SingleOrDefault vs. FirstOrDefault() with filtering criteria

时间:2022-08-31 14:12:57浏览次数:82  
标签:use filtering SingleOrDefault FirstOrDefault returns set result

LINQ: When to use SingleOrDefault vs. FirstOrDefault() with filtering criteria

问题

 

 

 

回答1

If your result set returns 0 records:

  • SingleOrDefault returns the default value for the type (e.g. default for int is 0)
  • FirstOrDefault returns the default value for the type

If you result set returns 1 record:

  • SingleOrDefault returns that record
  • FirstOrDefault returns that record

If your result set returns many records:

  • SingleOrDefault throws an exception
  • FirstOrDefault returns the first record

Conclusion:

If you want an exception to be thrown if the result set contains many records, use SingleOrDefault.

If you always want 1 record no matter what the result set contains, use FirstOrDefault

 

标签:use,filtering,SingleOrDefault,FirstOrDefault,returns,set,result
From: https://www.cnblogs.com/chucklu/p/16642881.html

相关文章

  • useradd -g -G
    useradd命令用来建立用户账号和创建用户的起始目录,使用权限是终极用户。-g:指定用户所属的起始群组。-G:指定用户所属的附加群组。useradd是添加用户的命令。用法:useradd[选......
  • pycharm 运行'HelloWorld'时出错: Cannot run program "C:\Users\zouhuaxin\AppDat
    需要修改运行配置,重新选择新的解释器C:\Users\zouhuaxin\AppData\LocaNPrograms\Python\Pytho  ......
  • Caused by: java.lang.ClassNotFoundException: javax.inject.Inject
    Causedby:java.lang.ClassNotFoundException:javax.inject.Inject一、问题描述在项目编译时,找不到inject类二、分析问题通过分析栈信息,发现querydsl包在读取I......
  • [Bug0047] Access denied for user '-root'@'localhost' (using password: YES)
    1、问题Accessdeniedforuser'-root'@'localhost'(usingpassword:YES)2、场景低级失误,密码错误3、原因密码错误4、解决方案根据网上资料,出现Accessdenied的......
  • SMINet State-Aware Multi-Aspect Interests Representation Network for Cold-Start
    动机本文是2022年AAAI上的一篇论文。在线旅行平台与常见的电商平台、新闻平台与短视频平台不同,因为通常用户旅行的频率远不及网购、看新闻的频率,而且旅行有一些与众不同的......
  • Async. Postbacks cause Page_Init? (C#)
    Async.PostbackscausePage_Init?(C#)问题I'mexperiencingaverystrangeproblem...IhavearegularASP.Netwebpagewithapage_initandapage_loadfunct......
  • 测试之前项目中关于useEffect的疑惑
    1.监听组件自己的数据第一种:组件内数据不发生改变,react自带的diffling算法,起了作用,页面不刷新,回调也不会执行importReact,{useEffect,useState}from'react'exp......
  • join clause (C# Reference)
    joinclause(C#Reference)Thejoinclauseisusefulforassociatingelementsfromdifferentsourcesequencesthathavenodirectrelationshipintheobjectmo......
  • 9. SQL--use:选择数据库
    1.前言如果您的系统中有多个数据库,那么在开始操作之前,您需要先选择一个数据库。sqluse语句用来选择一个已经存在的数据库。2.语法use语句的基本语法如下:usedat......
  • 按 user 分组统计视图
    在上一篇《按host分组统计视图|全方位认识sys系统库》中,我们介绍了sys系统库中按host分组统计的视图,类似地,本期的内容将为大家介绍按照user进行分类统计的视图。......