Ank*_*pta 3 c# linq entity-framework asp.net-mvc-4
我在 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();
}
Run Code Online (Sandbox Code Playgroud)
现在如果FromDate和ToDate为空,那么我得到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();
Run Code Online (Sandbox Code Playgroud)
到
var QueryData = query.Where(s => s.MSO == ms && (FromDate == null || (s.TEST_DATE.Value >= FromDate)) && (ToDate == null || (s.TEST_DATE.Value<=ToDate))).ToList();
Run Code Online (Sandbox Code Playgroud)
如果FromDateOrToDate将等于NULL,则不会根据 来检查它们s.TEST_DATE.Value。