2011-03-03 55 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。