1

谁能告诉我这里的日期比较可能有什么问题?

在位置 60“参考 s.SwipeDateTime.Value.Date”的类型“Edm.DateTime”中不存在属性“日期”

        var lastSwipe = (from s in this.DataWorkspace.ApplicationData.EmployeeSwipeLogs
                         where s.Employee.Id == emp.Id &&
                         s.SwipeIsValid == true &&
                         s.SwipeDateTime.Value.Date == DateTime.Today
                         orderby s.SwipeDateTime descending
                         select s).FirstOrDefault();
4

3 回答 3

1

您可能还会发现实体函数很有用。这些允许您使用一些您无法使用的方法。

您需要添加:

  • 项目中对System.Data.Entity的程序集引用(在 System.Data.Entity.dll 中)
  • 使用函数的类中的 Imports/using System.Data.Objects语句
于 2012-10-02T02:47:07.830 回答
1

如果您使用的是实体框架,那么您是对的,EDM.DateTime 没有 .Date 属性。查看EDM.DateTime了解您可以使用哪些方法。

于 2012-10-01T15:19:22.760 回答
1

很简单,您使用的 LINQ 提供程序可能不支持Convert.ToDateTime. 到底是什么类型的s.SwipeDateTime?如果它已经是DateTime,那么您首先不需要转换 - 如果不是 DateTime,它可能应该是。请注意,您可以使用DateTime.Today而不是DateTime.Now.Date,我个人会将其移至查询之前。

于 2012-10-01T14:42:41.237 回答