基于列检查和损坏的数据重写 linq 查询

问题描述

我有一个表,其结构如下:

JobListings:

JobID
CompanyID
Status 
ActiveDate
ExpiryDate
CreationDate

现在我想根据条件计算以下统计数据:

Active
OnHold
Closed
Filled
Expired

现在由于一些数据损坏,我在 ActiveDate 字段中遇到了问题,其中包含某些工作的日期:“0001-01-01”

所以我想要做的是,如果 ActiveDate 有像“0001-01-01”这样的数据,那么 考虑 ExpiryDate 列,否则仅考虑 ActiveDate。

我正在尝试检索这个月第一天直到今天的统计数据。

这是我的查询

var statistics = (from j in context.Job
                        where j.CompanyID == 100 &&
                        (j.ActiveDate == "0001-01-01" ? (j.CreationDate >= fromDate && j.CreationDate <= toDate):
                        (j.ActiveDate >= fromDate && j.fromDate <= today))
                        group j by j.Status into g
                        select new
                        {
                            Id = g.Key,Statistics = g.Count()
                        });

有没有更好的方法来重写这个查询

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)