我正在尝试将今天的日期与数据库中的日期进行比较。 今天的日期保存在数据库中,如下所示:2016-06-14 00:00:00.000
dtTodaysDate生成如下:2016年6月14日上午11:51:09
这是方法
public string CheckCreateOneProjectReportPerDay(string strprojectId)
{
string checkReturnValue = "DoesNotExist";
DateTime dtTodaysDate = DateTime.Now;
var checkProjectRec =
_objContext.tbl_Project_Status_MSTR.Where(
s => s.ProjectID == strprojectId && s.StatusDate == dtTodaysDate);
if (checkPrjDate.Any())
{
checkReturnValue = "RecordExist";
}
return checkReturnValue;
}
我尝试在下面的查询中使用关键字contains但没有运气
var checkProjectRec =
_objContext.tbl_Project_Status_MSTR.Where(
s => s.ProjectID == strprojectId && s.StatusDate == dtTodaysDate);
上面的查询将始终不返回任何内容,因为它们不匹配。有没有更好的办法 做这个比较?
答案 0 :(得分:0)
您的数据库列StatusDate看起来只存储其DateTime对象的日,月和年。
我建议更改你的linq查询,只搜索dtTodaysDate的值。
尝试一下:
var checkProjectRec =
_objContext.tbl_Project_Status_MSTR.Where(
s => s.ProjectID == strprojectId
&& s.StatusDate.Year == dtTodaysDate.Year
&& s.StatusDate.Month == dtTodaysDate.Month
&& s.StatusDate.Day == dtTodaysDate.Day);