我有一个LINQ to SQL查询非常相似于以下内容:为什么我让一个空值赋给布尔值?解决这个问题的最好方法是什么?
var result = (from shareclass in database.ShareClassInfo
where shareclass.Id == ID
select new ShareClass
{
IsOnlineListing = shareclass.IsOnlineListing
}
);
var list = result.ToList();
当我尝试从结果我碰到下面的错误列表:
The null value cannot be assigned to a member with type System.Boolean which is a non-nullable value type.
这样做的原因是IsOnlineListing
是bool
,但数据库中的字段为空。所以我有效地试图赋值为空值(这是不可能的)。
我认为解决这个问题的方法是使IsOnlineListing
为可空类型,但我有点困惑,为什么我首先要做这个。我的意思是,数据库字段被定义为[bit] NULL
字段。我认为编译器会比让我将null
值赋给非空类型更聪明,或者至少它会警告我。
所以我想知道的是,如果这是正确的解决方案?有没有另一种方法来做到这一点?为什么编译器不能告诉我这是或可能是一个问题?
列可为空或稍后更改? – V4Vendetta