以下代码段显示按名称分组以查找每个名称的计数。
.SelectList(list=> list
.SelectGroup(t => t.Name).WithAlias(() => dto.Name)
.SelectCount(t => t.Name).WithAlias(() => dto.Count)
)
.TransformUsing(Transformers.AliasToBean<DTO>())
它有效,但有些名称是空字符串而其他名称为空。
如何将null和空字符串组设为相同的计数?
像这样,
.SelectGroup(t => String.IsNullOrEmpty(t.Name)?"UNKNOWN":t.Name).WithAlias(() => dto.Name)
上述内容不起作用
渴望的SQL:
SELECT Name, count(IsNull(Name, 'UNKNOWN') ) as 'NameCount'
FROM Person
GROUP BY Name
这会得到如下结果:
Bob 2
Tom 5
UNKNOWN 3
不进行空检查,结果就是:
Bob 2
Tom 5
分组中将忽略空值。这就是为什么我需要在NH查询语法中找到一种方法来指定空值的默认值