在Linq查询中搜索空字段

时间:2014-03-03 23:51:20

标签: c# .net sql-server linq tsql

在SQL Server Management Studio中使用T-SQL,此查询完全返回我期望的内容

SELECT * FROM ZipCodeTerritory WHERE ZipCode IS NULL and StateCode = 'WA'

但是......以下Linq查询不返回任何结果。我检查了连接字符串,我已经确认我正在连接数据库。使用cleanZip变量的值将返回一个列表。但是,使用null值永远不会返回任何内容。

string cleanZip = (item.ToUpper().Equals("NULL") ? null : item.Trim());

var zipCodes = (from z in db.ZipCodeTerritory
                where z.ZipCode.Equals(cleanZip) && z.StateCode.Equals(searchState)
                select z).ToList();

1 个答案:

答案 0 :(得分:0)

将查询更改为以下内容,现在正在运行。

var zipCodes = (from z in db.ZipCodeTerritory
                where (cleanZip == null ? z.ZipCode.Equals(null) : z.ZipCode.Equals(cleanZip)) && z.StateCode.Equals(searchState)
                select z).ToList();