微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决基于列检查和损坏的数据重写 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 举报,一经查实,本站将立刻删除。