我有这部分代码:
int[] toRemoveInChildHotelOffersMealsIds = _hotelOfferDetailsRepository.Get()
.Where(x => toRemoveHotelOfferMealsIds.Contains(x.ParentId.Value))
.Select(x => x.ID)
.ToArray();
此代码必须返回要删除的子ID(如果存在)。
并且此部分引发错误
可为Null的对象必须有值
第二件事我不明白为什么我在真实的工作中没有得到同样的异常。
那么,如何修改代码以避免此异常,并仅在具有值的记录中进行搜索呢?
1条答案
按热度按时间b4qexyjb1#
这可能是因为 ParentId 的值被解析为空值,并且 ParentId.Value 引发异常。是否为 ParentId 设置了一个值,其中的数据被模拟?
要避免这种情况,请执行空值检查(假设必须忽略没有ParentId值的对象)
如果需要考虑它们,则使用