C# 无法隐式转换类型';布尔?&x27;“开玩笑”;其中approvementState=true";

C# 无法隐式转换类型';布尔?&x27;“开玩笑”;其中approvementState=true";,c#,compiler-errors,C#,Compiler Errors,我正在asp.net实体框架中使用C#和LINQ to SQL 当复选框被选中时,我想显示来自数据库的列表,其中“approvementState”列值为false,当复选框被选中时;然后获取哪些列approvementState为真的记录 Html: 但我得到了一个错误:无法隐式地将类型“bool”转换为bool。存在明确的转换。其中(f.approvementState.HasValue&&f.approvementState)其中f.approvementState==true将代码更改为

我正在asp.net实体框架中使用C#和LINQ to SQL

当复选框被选中时,我想显示来自数据库的列表,其中“approvementState”列值为false,当复选框被选中时;然后获取哪些列approvementState为真的记录

Html:


但我得到了一个错误:无法隐式地将类型“bool”转换为bool。存在明确的转换。

其中(f.approvementState.HasValue&&f.approvementState)
其中f.approvementState==true

将代码更改为

var lst=(from f in context.FirstInternships
                                 where f.approvementState==true // error in this line of code
                                 select f).ToList();
此外,属性“approvementState”似乎是可为空的类型


尝试使用
f.approvementState.Value==true

首先,您不是在比较,而是在赋值。因此,将代码更改为

            var lst= (from f in context.FirstInternships
                         where f.approvementState == true 
                         select f).ToList();

不要标记垃圾邮件。如果还有另一个问题(在修复了编译器错误之后,因此报告的行为实际上是可测试的),那么就作为另一个问题来问。抱歉,我只是认为这与错误有关。我更改了问题。@user2864740编译器错误发生在代码运行之前。唯一需要处理的信息类型错误是表达式的解析类型;表达式稍后将计算为什么值无关紧要。谢谢您提供的信息@user2864740Checkbox每次仍然只返回null,并且没有记录出现。checkbox是返回null还是返回查询?因为如果复选框为null,您的“if”条件将抛出错误,如果查询返回null,请检查您的数据库中是否有符合该条件的行。不想让您感到困惑,但是,如果(cbc.approval.Checked)-->此if语句有效,我进入if范围并在调试中完成了linq查询。但我没有任何疑问。我也不知道为什么字符串x=Request.Form[“CBO批准”];-->此语句始终返回null。如果它与我的查询没有返回有关。x=Request.Form[“CBO批准”];与您的代码无关,因为您没有在其他任何地方使用变量“x”,并且由于没有引发错误,可能是您应该尝试检查数据库中的相关条目,检查您的第一个实习表中是否有approvementState=true的行。我在DB表中有5条记录,包括一条true和四条false。列是位sql类型。它们是0和1
var lst=(from f in context.FirstInternships
                                 where f.approvementState==true // error in this line of code
                                 select f).ToList();
            var lst= (from f in context.FirstInternships
                         where f.approvementState == true 
                         select f).ToList();