2013-04-11 126 views
0

我的數據庫有5條線的數據:錯誤的日期時間返回

  1. {2013年2月17日00:00:00}
  2. {2013年4月15日00:00:00}
  3. {2013年6月17日00:00:00}
  4. {2013年8月26日00:00:00}
  5. {二零一三年十二月三十〇日00:00:00}

但是當我這樣做:

_db.Quarter 
.Where(q => q.Begin <= DateTime.Now) 
.ToList(); 

與DateTime.Now = {2013年4月16日16時02分26秒} 返回結果只有一個:{2013年2月17日00:00:00}

我的EF版本4.3.1。

有一個疑問:DateTime.Now使用數據庫服務器時鐘還是應用服務器時鐘?

+1

你的懷疑是一個很好的問題。不確定LINQ查詢是否將「DateTime.Now()'」更改爲實際的日期時間或「GETDATE()」。你必須檢查由LINQ – Jonathan 2013-04-11 19:15:39

回答

2

不知道我是否遺漏了一些東西,但所有其他日期都在未來(Datetime.Now()是4月11日)。我希望你得到的結果...

+0

生成的實際查詢我改變了時鐘模擬的時間:) – MuriloKunze 2013-04-11 19:11:32

+0

但是不應該返回seocnd行嗎? – MuriloKunze 2013-04-11 19:12:20

+0

你可以添加另一個日期嗎?也許你的'DateTime.Now()'不是你認爲的那樣? – Jonathan 2013-04-11 19:12:44