C# 使用LINQ到SQL解析空类型

C# 使用LINQ到SQL解析空类型,c#,linq-to-sql,C#,Linq To Sql,首先道歉,我真的是LINQ的初学者,所以这个问题 我无法从数据库中捕获空值。我正在制作一个LINQ到数据表。我正在检查双面打印 这是我的代码: var results2 = from myRow in table.AsEnumerable() where myRow.Field<double>("Cost") == 0 selec

首先道歉,我真的是LINQ的初学者,所以这个问题

我无法从数据库中捕获空值。我正在制作一个LINQ到数据表。我正在检查双面打印

这是我的代码:

var results2 = from myRow in table.AsEnumerable()
                                       where myRow.Field<double>("Cost") == 0
                                       select myRow;
var results2=来自表中的myRow.AsEnumerable()
其中myRow.Field(“成本”)==0
选择myRow;
如果值为零,则该代码工作正常。如何让它也检查null

另一个问题也与这个问题有关:

我有以下代码:

var results = from myRow in table.AsEnumerable()
                                       where myRow.Field<string>("Name") == "test"
                                       select myRow;
var results=来自表中的myRow.AsEnumerable()
其中myRow.Field(“Name”)=“test”
选择myRow;

如果这个值是test,那么它就可以正常工作。如何检查“Name”列是否为空/null???

使用
|
运算符添加
条件

对于可为null的双精度情况,除了检查null之外,还需要检查它是否有值以及是否是您期望的值

var results2 = from myRow in table.AsEnumerable()
               where (
                   myRow.Field<double?>("Cost").HasValue &&
                   myRow.Field<double?>("Cost").Value == 0)
               || !myRow.Field<double?>("Cost").HasValue
               select myRow;


var results = from myRow in table.AsEnumerable()
              where myRow.Field<string>("Name") == "test" ||
                    myRow.Field<string>("Name") == null
              select myRow;
var results2=来自表中的myRow.AsEnumerable()
在哪里(
myRow.Field(“成本”).HasValue&&
myRow.Field(“成本”)。值==0)
|| !myRow.Field(“成本”).HasValue
选择myRow;
var results=来自表中的myRow.AsEnumerable()
其中myRow.Field(“Name”)=“test”||
myRow.Field(“Name”)==null
选择myRow;

myRow.Field(“Cost”)==null
?为什么要使用
.AsEnumerable()
?您确定这是Linq to SQL吗?为什么不使用类型化数据上下文呢?我正在对DataTable运行这个LINQ。