如何使用实体框架在C#,ASP.NET MVC 3中获取两个日期之间的记录?
我找不到两个日期之间的记录 我尝试使用普通查询,但没有得到任何结果:如何使用实体框架在C#,ASP.NET MVC 3中获取两个日期之间的记录?,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我找不到两个日期之间的记录 我尝试使用普通查询,但没有得到任何结果: log.Info("Parameters Received..."); log.Info("name:"+param1); // => "SELECT" log.Info("city:"+param2); // => "SELECT" log.Info("userId :"+userId); // =>"" log.Info("creationDateFrom :"+creationDateFrom
log.Info("Parameters Received...");
log.Info("name:"+param1); // => "SELECT"
log.Info("city:"+param2); // => "SELECT"
log.Info("userId :"+userId); // =>""
log.Info("creationDateFrom :"+creationDateFrom); // => 10/07/2018
log.Info("creationDateTo :"+creationDateTo); // => 12/07/2018
var report = reportDBObj.tbl_reports.AsQueryable();
if (param1 != null && !param1.Equals("SELECT"))
report = report.Where(x => x.name == param1);
if (param2 != null && !param2.Equals("SELECT"))
report = report.Where(x => x.city == param2);
if (userId != null && userId != "")
report = report.Where(x => x.user_id == userId);
Boolean dateCheck = false;
DateTime createDateFrom = DateTime.MinValue, createDateTo = DateTime.MinValue;
if (!string.IsNullOrEmpty(creationDateFrom))
{
// createDateFrom = Convert.ToDateTime(creationDateFrom);
createDateFrom = DateTime.Parse(creationDateFrom);
dateCheck = true;
}
if (!string.IsNullOrEmpty(creationDateTo))
{
// createDateTo = Convert.ToDateTime(creationDateTo);
createDateTo = DateTime.Parse(creationDateTo);
if (!dateCheck)
dateCheck = true;
}
if (dateCheck)
{
if (createDateFrom == DateTime.MinValue)
createDateFrom = DateTime.Now;
else if (createDateTo == DateTime.MinValue)
createDateTo = DateTime.Now;
}
if (dateCheck)
{
Debug.WriteLine("createDateFrom :" + createDateFrom);
Debug.WriteLine("createDateTo :" + createDateTo);
report = report.Where(x => x.creation_date >= createDateFrom && x.creation_date <= createDateTo); // this line returns no records
}
repListTbl = report.OrderByDescending(x => x.creation_date).ToList();
log.Info(“收到的参数…”);
log.Info(“名称:”+param1);//=>“选择”
log.Info(“城市:+param2);//=>“选择”
log.Info(“userId:+userId);//=>""
log.Info(“creationDateFrom:+creationDateFrom);//=>10/07/2018
log.Info(“creationDateTo:+creationDateTo);//=>12/07/2018
var report=reportDBObj.tbl_reports.AsQueryable();
如果(param1!=null&!param1.Equals(“选择”))
report=report.Where(x=>x.name==param1);
如果(param2!=null&&!param2.Equals(“选择”))
report=report.Where(x=>x.city==param2);
如果(userId!=null&&userId!=“”)
report=report.Where(x=>x.user\u id==userId);
布尔日期检查=false;
DateTime createDateFrom=DateTime.MinValue,createDateTo=DateTime.MinValue;
如果(!string.IsNullOrEmpty(creationDateFrom))
{
//createDateFrom=Convert.ToDateTime(creationDateFrom);
createDateFrom=DateTime.Parse(creationDateFrom);
dateCheck=true;
}
如果(!string.IsNullOrEmpty(creationDateTo))
{
//createDateTo=Convert.ToDateTime(creationDateTo);
createDateTo=DateTime.Parse(creationDateTo);
如果(!dateCheck)
dateCheck=true;
}
如果(日期检查)
{
if(createDateFrom==DateTime.MinValue)
createDateFrom=DateTime.Now;
else if(createDateTo==DateTime.MinValue)
createDateTo=DateTime.Now;
}
如果(日期检查)
{
Debug.WriteLine(“createDateFrom:+createDateFrom”);
Debug.WriteLine(“createDateTo:+createDateTo”);
report=report.Where(x=>x.creation\u date>=createDateFrom&&x.creation\u date x.creation\u date).ToList();
我的代码怎么了
谢谢,有两种方法可以做到这一点
带两个WHERE子句的第一个:
var result = context.EntityName
.Where(entry => entry.DateField >= StarDate.SelectedDate.Value)
.Where(entry => entry.DateField <= EndDate.SelectedDate.Value).ToList();
var result = context.YourEntityName.Where(entry => entry.DateField >= minDate
&& entry.DateField <= maxDate).ToList();
var result=context.EntityName
.Where(entry=>entry.DateField>=StarDate.SelectedDate.Value)
.Where(entry=>entry.DateField entry.DateField>=minDate
&&entry.DateField是否调试以检查代码的功能以及没有结果时的条件是什么?是的,我昨天调试了它,但没有得到任何结果