我有一个简单的表,其中包含三列ID
Name
IsSelected
。后者是nullable
bit
,因此很自然地,我的课:针对该表每一行的city.cs
都为此属性生成了nullable
bool
。但是,当我调试代码时,IsSelected
会为每一行返回null
,而实际上,当我手动将它们输入到表中时,确实存在从0
到1
的值
如果我运行以下代码:
var test = cities.ToList();
if(test[0].IsSelected.HasValue)
{
return "yes";
}
if
语句失败。我可以生成另一个表,然后在allow nulls
中取消选中ssms
,但是首先,我想知道为什么会遇到这个问题。
如果有帮助,请在下面的表格中查看
:答案 0 :(得分:0)
因此它们是可为空的列,您需要按以下方式对其进行编码:
var test = cities.ToList();
if(test[0]!=null && test[0].Value.IsSelected)
{
return "yes";
}
或
var test = cities.ToList();
if(test[0].HasValue && test[0].Value.IsSelected)
{
return "yes";
}