我試圖ormlite。我發現,當我插入一個DateTime屬性的對象,它得到-8.00(我的時區是+8)由ormlite應用。它應該按字面插入時間。在我的情況下,它已經是UTC。servicestack ormlite sqlite DateTime獲取TimeZone調整插入
但是讀取ormlite中的值時,+8不會被重新應用。
這是一個已知的錯誤?
謝謝
我試圖ormlite。我發現,當我插入一個DateTime屬性的對象,它得到-8.00(我的時區是+8)由ormlite應用。它應該按字面插入時間。在我的情況下,它已經是UTC。servicestack ormlite sqlite DateTime獲取TimeZone調整插入
但是讀取ormlite中的值時,+8不會被重新應用。
這是一個已知的錯誤?
謝謝
我認爲它插入UTC類。從數據庫中讀取日期時間後嘗試應用.ToLocalTime()
所以你的問題看起來與此相關的上拉要求: 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
爲例。老問題,我知道,但我希望這會有所幫助。
ormlite 3.9.32 sqlite 32bit –