我有一个User
表,其中有一BIT NULL
列名为NxEnabled
,我无法更改。一些记录实际上NULL
在该列中包含 a。
我不想在 C# 中有 Nullable,因此将其与投影中的 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 子句不是问题。