SQL到LINQ - 获取错误的结果

时间:2016-08-16 15:59:50

标签: c# mysql linq

如果用户选择07-07-2016,我想计算发票日数>在过去的12个月中,该月份为30个月。

查询是这样的:

select COUNT(*) as 'BillsOver30' from pssuite_web.pujhaccd 
where billdays>30 and DATEDIFF(month,'07-07-2016', GETDATE()) <= 13
Group By Month(billdate)

结果如下:

  1. 1784(7月)
  2. 1509(六月)
  3. 2986(五月)
  4. 2196(等)
  5. 5853
  6. 3994
  7. 1753
  8. 1954
  9. 869
  10. 1932
  11. 629
  12. 1673
  13. LINQ查询是:

    DateStart = '07-07-2016' (from a textbox on view)
    DateTime earliestDate = objdate1.DateStart.Value.AddMonths(-13);
    
    var custQuery9 = (from m in DataContext.pujhaccds
                      where m.billdays > 30 &&
                          m.billdate >= earliestDate &&
                          m.billdate <= objdate1.DateStart
                      group m by m.billdate.Value.Month into p
                      select new Date1()
                      {
                          theMonth = p.Key,
                          theCount = p.Count()
                      });
    

    结果是:

    Month   Count
    1   1029
    2   1018
    3   1972
    4   1519
    5   2657
    6   2019
    7   1206
    8   1023
    9   761
    10  1620
    11  354
    12  931 
    

    您可以看到LINQ查询已关闭。 无论我输入什么日期,结果始终保持不变。而不是从开始日期开始的12个月。

    我一定是写错了,谢谢。

0 个答案:

没有答案