我有一个名为
我不想在C#中使用可空类型,因此在投影中将其与true进行比较是有意义的(代码已简化,但这会生成相同的错误):
为什么这个查询在枚举时会抛出InvalidOperationException:将空值分配给System.Boolean类型的成员,该成员是非可空值类型。请注意,此处的查询更复杂,但where子句不是问题的原因。
User
的表,其中有一个名为NxEnabled
的BIT NULL
列,我无法更改。实际上,有些记录在该列中包含NULL
。我不想在C#中使用可空类型,因此在投影中将其与true进行比较是有意义的(代码已简化,但这会生成相同的错误):
context.Users.Where(x => x.Id == 4)
.Select(x => new
{
Id = x.Id,
Name = x.Name,
Enabled = x.NxEnabled == true
});
为什么这个查询在枚举时会抛出InvalidOperationException:将空值分配给System.Boolean类型的成员,该成员是非可空值类型。请注意,此处的查询更复杂,但where子句不是问题的原因。