【问题标题】:Why does LINQ Date Column comparison not work?为什么 LINQ 日期列比较不起作用?
【发布时间】:2011-03-03 06:05:15
【问题描述】:

对于像这样的 LINQ 查询:

var entities = from Account p in context.Accounts
                           where p.LastTimeServerSettingsChanged > p.LastTimeDeviceConnected
                           select p;

生成的查询是:

SELECT 
[Extent1].[Username] AS [Username],
[Extent1].[LastTimeDeviceConnected] AS [LastTimeDeviceConnected], 
[Extent1].[LastTimeServerSettingsChanged] AS [LastTimeServerSettingsChanged]
FROM [dbo].[Account] AS [Extent1]
WHERE [Extent1].[LastTimeServerSettingsChanged] > [Extent1].[LastTimeDeviceConnected]

这不起作用(没有结果)。

以下也生成相同的 SQL(因此也没有结果)

var entities = context.Accounts.Where(k => k.LastTimeServerSettingsChanged > k.LastTimeDeviceConnected).Select(k => k);

我的问题是为什么以及如何执行此查询(使用 LINQ)?

【问题讨论】:

  • 你想做什么?您将如何编写 SQL?
  • ...您已经验证执行查询的数据库中有符合条件的数据?
  • 弗雷德里克,你说得对。我在错误的数据库上运行查询。我会给自己一些减分!

标签: linq datetime linq-to-entities


【解决方案1】:

上面的代码工作正常。我打错了数据库,因此得到了错误的结果。 GIGO。 QED。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2017-11-11
    • 2018-10-27
    • 1970-01-01
    相关资源
    最近更新 更多