正在筛选分组中的null

本文关键字:null 筛选 | 更新日期: 2023-09-27 18:25:55

我有以下linq到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开始累积null值,这破坏了查询。我试过这个:

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();

但第二个查询并没有过滤掉null。我猜这是因为团队在哪里之前。是否有某种方法可以使用原始查询来避免异常,因为DateUTC可能具有null值?

正在筛选分组中的null

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

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();