2013-01-10 21 views
3

我試圖ormlite。我發現,當我插入一個DateTime屬性的對象,它得到-8.00(我的時區是+8)由ormlite應用。它應該按字面插入時間。在我的情況下,它已經是UTC。servicestack ormlite sqlite DateTime獲取TimeZone調整插入

但是讀取ormlite中的值時,+8不會被重新應用。

這是一個已知的錯誤?

謝謝

+0

ormlite 3.9.32 sqlite 32bit –

回答

0

我認爲它插入UTC類。從數據庫中讀取日期時間後嘗試應用.ToLocalTime()

0

所以你的問題看起來與此相關的上拉要求: https://github.com/kojoru/ServiceStack.OrmLite/commit/d3f63ccd40f945b8dc03fd627ad49a895d4277de

如果您在SqlServerOrmLiteDialectProvider.cs檢查代碼,它看起來像設置SqlServerOrmLiteDialectProvider.EnsureUtc(true)將解決您的問題。

var dialect = new SqlServerOrmLiteDialectProvider(); 
dialect.EnsureUtc(true); 
var factory = new OrmLiteConnectionFactory(cnnStr, dialect); 
var connection = factory.Open(); 

檢查EnsureUtcTest.cs爲例。老問題,我知道,但我希望這會有所幫助。