我在这方面遇到了问题:
int? nextLevel = (from p in cd.Objective
where p.Parent_ObjectiveID == null
select p.ObjectiveID).Max() + 1;
错误指定:
无法将null值分配给System.Int32类型的成员,该类型是不可为空的值类型。
我该如何解决?
更新:
但p.Parent_ObjectiveID是int?数据类型。它可以为空。
答案 0 :(得分:3)
objectiveID是不可为空的类型。那么检查它的NULL类型是什么意思?您永远不能将空值分配给不可为空的值。可以使用objectiveID吗?代替..
答案 1 :(得分:0)
基本上,p.Parent_ObjectiveID不能是null
,(即“非可空”类型)。因此,无需检查它是否为null
。
因此,要解决此问题,请删除where
部分,或将其从null
更改为System.Int32
值。