You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

给category.NAME赋值时出现空引用错误的技术求助

空引用错误解决方案

问题根源很明确:FirstOrDefaultAsync在找不到符合ID == categoryId && (bool)p.STATE条件的记录时,会返回null,这时直接访问category.NAME就会触发空引用异常。

解决方法

先检查category是否为null,再执行后续赋值操作,同时根据业务需求处理无匹配记录的场景:

修改后的代码示例:

var category = await _companyContext.PRODUCTCATEGORIES.FirstOrDefaultAsync(p => p.ID == categoryId && (bool)p.STATE);

// 先判断记录是否存在
if (category == null)
{
    // 可根据业务需求抛异常、返回错误提示等,示例:
    throw new InvalidOperationException($"未找到ID为{categoryId}且状态有效的产品分类");
}

category.NAME = name;
category.WORKPLACEID = workplaceid;
_companyContext.Update(category);

如果只是想避免报错(不强制处理无数据场景),也可以用null条件运算符跳过赋值,但这种写法会隐藏无匹配的情况,需谨慎使用:

category?.NAME = name;
category?.WORKPLACEID = workplaceid;
if (category != null) _companyContext.Update(category);

内容的提问来源于stack exchange,提问作者ismail temel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 03:01:11