与存储在数据库中的日期字段执行日期比较
Performing a date comparison with a date field stored in the database
我正在尝试将今天的日期与数据库中的日期进行比较。
今天的日期像这样保存在数据库中:2016-06-14 00:00:00.000
dtTodaysDate 是这样生成的:6/14/2016 11:51:09 AM
这是方法
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);
上面的查询总是 return 没有,因为它们不匹配。有没有更好的办法
做这个比较?
您的数据库列 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);
Linq-to-SQL: DateTime Methods 可能也值得研究。
我正在尝试将今天的日期与数据库中的日期进行比较。 今天的日期像这样保存在数据库中:2016-06-14 00:00:00.000
dtTodaysDate 是这样生成的:6/14/2016 11:51:09 AM
这是方法
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);
上面的查询总是 return 没有,因为它们不匹配。有没有更好的办法 做这个比较?
您的数据库列 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);
Linq-to-SQL: DateTime Methods 可能也值得研究。