6

我在 Sql CE 4.0 中使用 EF CTP5 代码优先。我正在尝试在两个 DateTime 属性之间执行时间不敏感的日期比较。

由于 linq to entites 无法解析 DateTime.Date 属性(这会很好),因此解决方案是使用 EntityFunctions.TruncateTime,但这似乎不适用于 Sql CE 4.0。

我可以手动比较两个日期的年、月和日,这可行,但会使代码比应有的冗长得多。理想情况下,我不想更改我的查询以使用长手版本以使它们与完整的 sql server 和 sql ce 4.0 一起使用。

因此,有人对此有任何干净而聪明的解决方案吗?我认为解决方案可能涉及表达式重写,但我不太确定从哪里开始。

任何帮助是极大的赞赏,

保罗

4

1 回答 1

2

您可以选择更改数据库的结构吗?

如果是这样,您可以添加一个仅包含日期时间的日期部分的额外列,然后在查询中使用该列。

它将在您的数据库中使用更多空间,但应该运行得更快一些,因为您避免了任何转换。

于 2011-02-28T15:41:30.310 回答