从数据库返回空数据-C#MVC ADO.NET

时间:2018-10-13 11:45:42

标签: c# ado.net entity-framework-6

我有一个简单的表,其中包含三列ID Name IsSelected。后者是nullable bit,因此很自然地,我的课:针对该表每一行的city.cs都为此属性生成了nullable bool。但是,当我调试代码时,IsSelected会为每一行返回null,而实际上,当我手动将它们输入到表中时,确实存在从01的值

如果我运行以下代码:

var test = cities.ToList();
if(test[0].IsSelected.HasValue)
{
   return "yes";
}

if语句失败。我可以生成另一个表,然后在allow nulls中取消选中ssms,但是首先,我想知道为什么会遇到这个问题。

如果有帮助,请在下面的表格中查看

City Table

1 个答案:

答案 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";
}