2011-07-21 63 views
11

我查詢使用實體SQL我的EDM和我在我的日期時間值損失millsecond精度。例如2011/7/20 12:55:15.333 PM將變更爲2011/7/20 12:55:15.000 PM。實體框架失去的Sql日期時間精度

我已經證實,在SQL毫秒精確地記錄下來。

有一個精密的屬性我可以的.edmx XML文件中的適用,但我不知道它需要什麼樣的價值觀,

 <Property Name="Timestamp" 
       Type="DateTime" 
       Nullable="false" 
       Precision="???" /> 

有誰知道如何使用這個精密的屬性?

謝謝。

回答

8

它依賴於SQL Server版本......看到http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-net-datetime-battle-of-accuracy/

如果是SQL Server 2008中變化的數據類型在數據庫中,以DATETIME2,然後更新從數據庫模型。

否則,您可以設置精確到3(3個數字的小數部分,見http://msdn.microsoft.com/en-us/library/cc716737.aspx)。

+0

這是SQL Server 2008 Express的(R2)。但是我不能更改數據庫,因爲它不屬於我的項目。這是唯一的解決方案嗎? –

+0

你可以把3成「精」 ......但編輯的.edmx是一種不好的做法! – Yahia

+0

好的 - 謝謝。精密「3」的作品,但我不得不切換使用斷EntityDataReader的.GetDateTime(INT序)功能。 –