我正在使用EF CTP5代码优先使用Sql CE 4.0。我试图在两个DateTime属性之间执行时间不敏感的日期比较。
由于linq to entites无法解析DateTime.Date属性(本来不错),解决方案是使用EntityFunctions.TruncateTime,但这似乎不适用于Sql CE 4.0。
我可以手动比较两个日期的年,月和日,这可行但是使代码比它应该更详细。理想情况下,我不想更改我的查询以使用长版本使它们与完整的sql server和sql ce 4.0一起使用。
因此,有没有人有任何干净,聪明的解决方案呢?我认为解决方案可能涉及表达式重写,但我不太清楚从哪里开始。
非常感谢任何帮助,
保
答案 0 :(得分:2)
您是否可以选择更改数据库的结构?
如果是这样,您可以添加一个仅包含日期时间日期部分的额外列,然后在查询中使用该列。
它将在您的数据库中使用更多空间,但由于您避免任何转换,因此应该运行得更快。