我正在尝试下载。我发现,当我插入一个对象与DateTime属性,它得到-8:00(我的时区是+8)应用于ormlite。它应该插入字面上的时间。在我的例子中,它已经是UTC了。
但是从ormlite中读取值,+8不会被重新应用。
这是一个已知的bug吗?
谢谢
我认为它是在UTC类型插入。从数据库读取DateTime后,尝试应用.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
"为例。我知道这是个老问题,但我希望这对你有所帮助。