我的查询结果中缺少某些行

时间:2016-08-03 22:21:08

标签: c# datetime

我想在PersianCalendar的两个日期之间获得报告,我已经转换了日期。它没有显示关于最后一天的数据 这是我的代码:

   public ActionResult FilterDate(DateFormViewModel model)
    {
        PersianCalendar pc = new PersianCalendar();
        var dateFrom = pc.ToDateTime(model.FromYear, model.FromMonth, model.FromDay, 0, 0, 0, 0);
        var dateTo = pc.ToDateTime(model.ToYear, model.ToMonth, model.ToDay, 0, 0, 0, 0);
        var filter = db.Parts.Where(s => s.CreateDateTime >= dateFrom && s.CreateDateTime <= dateTo).ToList();
        return View("Index", filter);
   }

2 个答案:

答案 0 :(得分:2)

您从开始日期的午夜到结束日期的上午12点进行搜索。您想要从开始日期的午夜到结束日期的晚上11:59:59进行搜索。

答案 1 :(得分:0)

你在最后一天缺少数据,对吗? (15 mordad) 原因是你正在寻找同一天。在查询中有&lt; =没有帮助你。 例如1395/5/15 01:00:00大于1395/5/15(你的dateTo),因此它不会显示在结果中

你必须在第二天检查它

  var filter = db.Parts.Where(s => s.CreateDateTime >= dateFrom && s.CreateDateTime < dateTo.AddDay(1)).ToList();