.Net Core MVC中出现Object reference not set to an instance of an object错误求助
排查
Object reference not set to an instance of an object错误 你的代码里触发空引用异常的可能性集中在三个点,逐个排查修复:
hbprint为空:_vw_BPS.FindAsync(x => x.Id == id)未找到匹配数据时会返回null,后续直接访问hbprint.Vw_hcsp会触发异常。
修复:先判断hbprint是否为null,再执行遍历逻辑:hbprint = await _vw_BPS.FindAsync(x => x.Id == id); if (hbprint == null) { // 处理无数据场景,比如记录日志或终止流程 return; } foreach (var hbs in hbprint.Vw_hcsp) { // 后续代码 }hbprint.Vw_hcsp为空:即使hbprint存在,它的Vw_hcsp属性可能未初始化(值为null),遍历null集合会报错。
修复:遍历前判断是否为null,或者用空集合兜底:foreach (var hbs in hbprint.Vw_hcsp ?? Enumerable.Empty<你的Vw_hcsp类型>) { // 后续代码 }stock为空:_vw_hcsp.FindAsync(x=> x.HId == id)未找到匹配数据时返回null,后续访问stock的各类属性会触发异常。
修复:先判断stock是否为null,再创建svm对象:var stock = await _vw_hcsp.FindAsync(x=> x.HId == id); if (stock != null) { var svm= new Vw_hcsp { HId = stock.HId, HBLContainerId = stock.HBLContainerId, Chassis_No = stock.Chassis_No, ContainerNo = stock.ContainerNo, Seal_No = stock.Seal_No, Vehicle_Model = stock.Vehicle_Model, Gross_Weight_Stock = stock.Gross_Weight_Stock, Volume_Stock = stock.Volume_Stock }; // 注意:需对svm做后续处理(如添加到集合),否则对象创建后无实际作用 }
内容的提问来源于stack exchange,提问作者Samiksha Bhoir
相关产品推荐
相关产品推荐

