gpt4 book ai didi

c# - 如何验证 lambda 查询是否返回 null

转载 作者:太空狗 更新时间:2023-10-29 23:58:10 25 4
gpt4 key购买 nike

我使用类似 lambda 的方式从数据库中检索数据

 var obj = DBContext.MyTable.Where(x => x.ID == 2).SingleOrDefault().MyColumn;

实际上,在MyTable中,没有ID为2的。
所以我收到了这条消息。

Object reference not set to an instance of an object.

如何正确验证它?

最佳答案

只需将查询结果捕获到单独的变量中,并在访问其属性之前检查是否找到任何项目:

var yourItem = DBContext.MyTable.Where(x => x.ID == 2).SingleOrDefault();
if (yourItem != null)
obj = yourItem.MyColumn;

顺便说一句,您可以将谓词传递给 SingleOrDefault 方法:

var yourItem = DBContext.MyTable.SingleOrDefault(x => x.ID == 2);

您也可以在应用 SingleOrDefault 之前选择您的属性

var obj = DBContext.MyTable.Where(x => x.ID == 2)
.Select(x => x.MyColumn)
.SingleOrDefault();

关于c# - 如何验证 lambda 查询是否返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16918185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com