ServiceStack + OrmLite日期格式问题

时间:2013-08-26 14:37:07

标签: c# sql datetime servicestack ormlite-servicestack

我正在使用ServiceStack + OrmLite,我在使用OrmLite保存DateTimeOffset对象时遇到了一些问题。

我需要将其保存到具有中性文化格式的SQL Server数据库(例如ISO8601)中,因此当用户更改其文化时,它将不会对它如何写入数据库产生任何影响,因为现在它正在生成{{由于文化转换问题导致的错误。

是否有任何OrmLite配置选项或类似的东西可以避免此问题?

1 个答案:

答案 0 :(得分:0)

SQL Server中的日期/时间类型(包括datetimedatetimeoffset不会与任何文化一起存储。它们根本不存储为字符串。它们在内部存储有二进制表示。

如果C#中的类使用DateTimeOffset类型的属性,并且SQL Server中的表使用datetimeoffset类型的列,则字符串(和文化)不应该输入图片。

如果手动制作SQL字符串并内联值而不是使用参数,则可能会获得字符串。但我怀疑ORM会犯这个错误。

或者您是否尝试将DateTimeOffset的字符串表示填充到varchar字段中?

发布一些代码,以便我们可以看到你在做什么。