问题描述
我正在尝试排除那些为空的记录。
// 我无法更改 sql server 中的数据类型 带有数据类型的 sql 列名:RMU:浮点
具有数据类型的模型类:
[Column(TypeName = "float")]
public double RMU { get; set; }
LINQ -->
var RMUNotNullCheck = DB1.tblImport.Where(x => x.RPU != null).ToList();
上面的代码给了我警告,因为 double 不能为空,并且很少有记录保持为空,我不需要那个。
如何去掉那些为空的记录。
解决方法
您可以将 RMU 属性设为 Nullable<T>
,然后在 LINQ 中检查 null
。
public double? Rmu { get; set;}
...
...
var rmuWithoutNull = DB1.tblImport.Where(x => x.Rmu != null).ToList();
,
如果 double 是 nullable value type,您只能将 double 与 NULL 进行比较。如果不是,double 的默认值将是 0 并且永远不会为 null。
你可以像这样定义一个可为空的 double 属性:
double? value = null;
所以你的情况是
public double? RMU { get; set; }
并且您的代码应该可以正常工作。