2012-09-12 61 views
0

我試圖比較實體框架中的日期值。比較實體框架中的日期值

DateTime selectedDate = Calendar1.SelectedDate;  
var result = context.EventsTable.Where(ev =>ev.EventDate.Equals(selectedDate)); 

ev.EventDate來自SQL Server 2008,而selectedDate是ASP:日曆的選定日期。 在SQL Server 2008中,日期存儲爲:2012-09-03 00:00:00 而Calendar的SelectedDate中的日期值採用2012-09-03 12:00:00 AM格式。

+0

日期是日期。顯示格式與存儲或計算無關。你的代碼是否工作? – SLaks

+0

雖然日期相同,但我的代碼正在運行,但比較失敗。 – hotcoder

+1

這可能意味着它們會有幾毫秒的不同,或者存在隱藏的時區問題。 – SLaks

回答

2

你或許應該截斷EventDate

context.EventsTable 
    .Where(ev => EntityFunctions.TruncateTime(ev.EventDate) == selectedDate) 

提供selectedDate被截斷,以及(由DateTime.Date)。