C# 分组时过滤空值
我有以下linq到sql:C# 分组时过滤空值,c#,.net,linq-to-sql,C#,.net,Linq To Sql,我有以下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开始累积空值,这破坏了查询。
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();
但是第二个查询没有过滤掉空值。我猜这是因为团队走在哪里之前。是否有某种方法可以使用原始查询来避免“除非”,因为DateUTC可能有空值?解决方案将在分组之前进行筛选:
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();
解决方案将在分组前进行筛选:
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();