我在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();
}
现在,如果
FromDate
和ToDate
为null,那么我得到的QueryData
计数为零。但是我需要所有记录。所以有人可以告诉我如何获得预期的结果。虽然FromDate
和ToDate
具有价值,但是我得到了预期的结果。 最佳答案
根据您提供的信息
在下面的语句中更改您:
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();
如果
FromDate
或ToDate
等于NULL
,则不会针对s.TEST_DATE.Value
进行检查。