序列不包含任何匹配元素


 

在C#中使用Lambda进行First或Single查询时,有可能会报异常:

异常详细信息:System.InvalidOperationExecption:序列不包含任何元素

原因是因为使用First的时候至少必须有一条数据,使用Single查询的时候查询结果必须有且只有一条数据,如果没有查到任何数据就会报异常。

解决办法:使用FirstOrDefault和SingleOrDefault,如果没有数据的话,返回对应类型的默认值。

 

【解决过程】

根据上面的参考答案,将First改成FirstOrDefault后,报错未将对象引用到实例,转到First的定义,文件只读未能更改。曹帮我写了一个判断解决了问题。

id的值为0,但是数据库里没有SCTId为0的数据,所以曹加了一个id>0的条件,排除了id等于小于0的可能,才能查出数据。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM