设置列表<;T>;如果返回的行为NULL,则项为空
本文关键字:NULL 返回 lt 列表 gt 设置 如果 | 更新日期: 2023-09-27 17:57:39
我需要填充List<string>
,但当我的查询返回空值时,不会在该列表中创建空字符串。
var maskObj = (from m in context.sistema_DocType_Index
join n in context.sistema_Indexes on m.indexId equals n.id
where m.id == docTypeId
select new maskModel
{
mask = n.mask
}).ToList();
return Content(""+maskObj.Count());
如果这个查询返回3行,并且它们都是NULL
,那么列表中需要3个空字符串。我有什么办法做到这一点吗?
我知道对于SqlServer来说,NULL是一个没有值的值。即使NULL==NULL也返回false,那么我该如何继续呢?
我认为您想要以下内容:
mask = n.mask ?? string.Empty
如果n.mask
为null,则使用null合并运算符来使用string.Empty
。
实体框架生成的SQL应该类似于以下内容:
COALESCE(MASK, '')
我的回答假设您说"如果这个查询返回3行,并且所有行都为NULL"时,mask
就是null
。
向查询中添加另一个where子句。
.Where(maskModel => !string.IsNullOrEmpty(maskModel));