我有一个User表有一个BIT NULL名为的列NxEnabled,我无法改变.一些记录实际上包含NULL该列中的一个.
我不想在C#中使用Nullable,因此在投影中将其与true进行比较是有道理的(代码是简化的,但这会产生相同的错误):
context.Users.Where(x => x.Id == 4)
.Select(x => new
{
Id = x.Id,
Name = x.Name,
Enabled = x.NxEnabled == true
});
Run Code Online (Sandbox Code Playgroud)
为什么这个查询会抛出一个
InvalidOperationException:无法将null值赋给System.Boolean类型的成员,该类型是非可空值类型.
什么时候枚举?
编辑:抱歉打字错误.查询实际上更复杂,但where子句不是问题.