我在MVC控制器中有动作

public ActionResult ExportExcel(string ReportType,DateTime? FromDate,DateTime? ToDate)
{
     var query = UnitOfWork.RepoTestResAnalysis.GetAll();
     var QueryData = query.Where(s => s.MSO == ms && (FromDate != null && (s.TEST_DATE.Value >= FromDate)) && (ToDate!=null && (s.TEST_DATE.Value<=ToDate))).ToList();
}


现在,如果FromDateToDate为null,那么我得到的QueryData计数为零。但是我需要所有记录。所以有人可以告诉我如何获得预期的结果。虽然FromDateToDate具有价值,但是我得到了预期的结果。

最佳答案

根据您提供的信息

在下面的语句中更改您:

var QueryData = query.Where(s => s.MSO == ms && (FromDate != null && (s.TEST_DATE.Value >= FromDate)) && (ToDate!=null && (s.TEST_DATE.Value<=ToDate))).ToList();




var QueryData = query.Where(s => s.MSO == ms && (FromDate == null || (s.TEST_DATE.Value >= FromDate)) && (ToDate == null || (s.TEST_DATE.Value<=ToDate))).ToList();


如果FromDateToDate等于NULL,则不会针对s.TEST_DATE.Value进行检查。

10-07 21:24