0

我有一个ActionResult要根据 SQL Server 中的日期列选择记录的位置。此日期在类型列中Date。我无法直接比较日期,因为 C#DateTime包含时间组件而Date数据类型不包含。有没有很好的方法来做到这一点?

public ActionResult AbsencesByDate(DateTime date)
{
        var absences = from attendance in db.Attendances
                          where attendance.Date == date
                          select new
                          {
                              returnedPersonID = attendance.PersonID,
                             FullName = attendance.Person.FName + " " + attendance.Person.LName,
                          };
        return Json(absences, JsonRequestBehavior.AllowGet);
}
4

2 回答 2

2

您可以从函数中的日期参数中删除时间部分。像这样的东西:

public ActionResult AbsencesByDate(DateTime date)
{
    date = date.Date;
    var absences = from attendance in db.Attendances
                      where attendance.Date == date
                      select new
                      {
                          returnedPersonID = attendance.PersonID,
                         FullName = attendance.Person.FName + " " + attendance.Person.LName,
                      };
    return Json(absences, JsonRequestBehavior.AllowGet);
}
于 2013-11-11T16:42:52.387 回答
1

尝试使用:

其中出勤.Date == date.Date

于 2013-11-11T16:54:29.430 回答