过滤分组上的空值

时间:2012-02-27 22:56:05

标签: c# .net linq-to-sql

我有以下linq to sql:

int someNumber = (from a in TableA.col1
                       group a by a.DateUTC.Value.ToLocalTime().Date into g
                       where TableA.col2 = Emp
                       select g).Count();

以上工作正常。但是然后DateUTC开始累积空值,这会破坏查询。我试过这个:

int someNumber = (from a in TableA.col1
                       group a by a.DateUTC.Value.ToLocalTime().Date into g
                       where TableA.col2 = Emp && TableA.DateUTC != null
                       select g).Count();

但第二个查询不是过滤掉空值。我猜这是因为小组来到了哪里。有没有办法使用原始查询来避免一个except,因为DateUTC可能有空值?

1 个答案:

答案 0 :(得分:3)

解决方案是在分组之前过滤

int someNumber = (from a in TableA.col1 
                   where a.DateUTC != null 
                   group a by a.DateUTC.Value.ToLocalTime().Date into g 
                   where TableA.col2 = Emp
                   select g).Count();