2011-03-03 25 views
0

对于LINQ查询,如:为什么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)执行?

+0

你想做什么?你会如何编写SQL? – Ani 2011-03-03 06:07:40

+0

...并且您已*验证*有数据符合执行查询的数据库中的条件? – 2011-03-03 06:07:52

+0

弗雷德里克,你是对的。我在错误的数据库上运行查询。我会给自己一些减号! – 2011-03-03 06:22:42

回答

1

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