2009-06-30 90 views
5

我試圖從EntitySQL查詢中使用EntityObject從MSSQL DB中獲取一些記錄。 我用來過濾的字段是日期時間類型。 生成的查詢預計沒有毫秒,到SQL Server不返回任何內容。 當我添加毫秒時,我得到了結果。實體SQL比較datetime毫秒

我怎樣才能使用EntitySQL獲得毫秒毫秒的結果?

謝謝。

回答

3

這不是優雅,但這個工作對我來說:

foos.SingleOrDefault(f => f.EntryDate.Year == bar.EntryDate.Year && 
          f.EntryDate.Month == bar.EntryDate.Month && 
          f.EntryDate.Day == bar.EntryDate.Day && 
          f.EntryDate.Hour == bar.EntryDate.Hour && 
          f.EntryDate.Minute == bar.EntryDate.Minute && 
          f.EntryDate.Second == bar.EntryDate.Second); 
1

一種方法是創建一個數據視圖,其中datetime列轉換爲smalldatetime(毫秒數)。

然後將視圖添加到您的實體框架模型,並通過視圖讀取數據。

希望這有助於

西拉

0

解決方法,我發現是初始獲取存儲日期爲.ToBinary(),然後當你過濾只是做新的DateTime(binaryValue)和與之媲美。