如何将 LINQ 中的两个日期减去 SQL?

How to subtract two dates in LINQ to SQL?

我希望能够将 dd 添加到 custQuery7。也就是说,从 trans_date 中减去两个日期 date_paid,其中值大于 3 天。然后数那些。

        var dd = m.date_paid.Value.Subtract(m.trans_date.Value) > 3;

        var custQuery7 = ((from m in DataContext.pu_balance_hists
                           where m.desc_code == 141
                           && m.trans_date.Value.Year == 2016
                           && m.trans_date.Value.Month == 5
                           select m)).Count();

这是我试图模仿的 SQL 查询:

select COUNT(*) as 'UnprocessedChques' from pu_balance_hist 
where desc_code=141 and date_paid-trans_date>3
and YEAR(trans_date)=2016 and MONTH(trans_date)=5

未测试,但你可以做类似的事情吗:

var custQuery7 = ((from m in DataContext.pu_balance_hists
                       where m.desc_code == 141 
                       && SqlMethods.DateDiffDay(m.date_paid, m.trans_date) >= 3
                       && m.trans_date.Value.Year == 2016
                       && m.trans_date.Value.Month == 5
                       select m)).Count();

https://msdn.microsoft.com/en-us/library/bb468730(v=vs.110).aspx