entity sql count null

问题描述:

我在使用实体SQL计数空值时遇到了问题。entity sql count null

代码在SQL:

SELECT Table.City, COUNT(*) 
FROM Table 
GROUP BY Table.City 

和LINQ到实体:

var query1 = from g in context.Table 
      group g by g.City into mygroup 
      select new { mygroup, c = mygroup.Count() }; 

都返回正确值:

NULL 4 
Boston 7 
Canberra 1 
London 5 
Melbourne 5 
New York 4 
Paris 15 
Sydney 4 

然而,实体SQL代码编写如:

string queryString1 = "SELECT city, COUNT(g.City)" + 
         "FROM Entities.Table AS g " + 
         "GROUP BY g.City as city"; 

回报:

NULL 0 
Boston 7 
Canberra 1 
London 5 
Melbourne 5 
New York 4 
Paris 15 
Sydney 4 

为什么的NULL不能正确计算?我该如何解决它?

How Entity SQL Differs from Transact-SQL

实体SQL不支持COUNT(*)聚合。改用count(0)。

通常COUNT(*)计数行,而COUNT(g.City)给你NOT NULL值的数量。

+0

工作正常。谢谢。 –