EF里使用lambda表达式时,如果数据为null情况下,读取字段会报错。(解决办法)

前言

在使用net5.0且使用ef查询数据时,会出现查询某个字段值的情况,但是如果当前值为空的情况下,lambda表达式会报错。下面讲解如何解决报错


解决lambad里面获取值为空的报错

示例:
string name = _dbContext.StationInfo.FirstOrDefault(q => q.Id == Id).name;
像上面这个lambda表达式,如果没有这条数据, 就会直接报错

解决办法
string name = _dbContext.StationInfo.FirstOrDefault(q => q.Id == Id)?.name??" ";
其中?.name的作用就是 如果对象为NULL,则不进行后面的获取成员的运算,直接返回NULL。不加这个的话,会直接报错。
后面的 ??" "的作用是,如果返会数据为NULL,则返回 " "。
如果是 ?? 0 的话,如果查询的数据为NULL,则但会0。

猜你喜欢

转载自blog.csdn.net/qq_37213281/article/details/128641772