Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何修复此LINQ函数?_C#_Linq_Linq To Sql_Linq To Objects - Fatal编程技术网

C# 如何修复此LINQ函数?

C# 如何修复此LINQ函数?,c#,linq,linq-to-sql,linq-to-objects,C#,Linq,Linq To Sql,Linq To Objects,我正在使用以下代码: var nextLevel = (from p in cd.Objective where p.Parent_ObjectiveID == null select p.Level); 当它不返回任何元素时(因为我的数据库中没有任何元素),它就工作了。虽然我想知道做这件事的最高级别: var nextLevel

我正在使用以下代码:

            var nextLevel = (from p in cd.Objective
                             where p.Parent_ObjectiveID == null
                             select p.Level);
当它不返回任何元素时(因为我的数据库中没有任何元素),它就工作了。虽然我想知道做这件事的最高级别:

            var nextLevel = (from p in cd.Objective
                             where p.Parent_ObjectiveID == null
                             select p.Level).Max();
但我有一个错误:

无法将null值分配给System.Int32类型的成员,该类型是不可为null的值类型


Parent_ObjectiveID是一个可为null的int,而level仅为int。

Max希望返回int,因为这是p.level的类型,但被迫返回null(因为查询中没有项)。如果将p.Level强制转换为可为null的int,则查询应该可以工作

var nextLevel = (from p in cd.Objective
                 where p.Parent_ObjectiveID == null
                 select (int?)p.Level).Max();