【问题标题】:SQLite DATETIME (in Julian/Real/Double) column with Entity Framework带有实体框架的 SQLite DATETIME(在 Julian/Real/Double 中)列
【发布时间】:2019-06-13 00:25:26
【问题描述】:

我有一个使用 Entity Framework Codefirst 调用的现有 SQLite 数据库。日期以双精度(朱利安或有时称为实数)的形式输入 SQLite(通过非 c# 代码)。当我尝试用 EF 检索它时,我无法阅读。我试图将 ConnectionString(在 app.config)更改为 datetimeformat= Ticks、CurrentCulture 等,但无济于事。有人知道从 double 读取日期时间格式的不同 datetimeformat 吗?如果不存在解决方案,我会将日期时间存储在 SQLite 中(Ticks)。如果有帮助,我们将不胜感激,并将避免这种解决方法。

【问题讨论】:

  • 您可以随时使用 sqlite date and time functions 之一将儒略日转换为所需的格式。
  • 是的。我注意到。可能最简单的方法是在写入时使用“datetime(1560199025, 'unixepoch')”之类的语句作为 SQLite 语句,然后通过 EF 在连接字符串中设置 datetimeformat=UnixEpoch 进行读取。我会试试看它是否有效。

标签: c# entity-framework sqlite datetime-format


【解决方案1】:

以下是我想出的解决方案: 我使用非 c# 代码作为 COM DLL(从 .NET 调用)并在 COM 对象中以双精度(OLE 自动化日期)写入 SQLite DateTime 字段。一切都很好,直到我尝试通过 Entity Framework 从 .NET 读取 DateTime 字段。我试图更改 ConnectionString(在 app.config 中)无济于事。 EF 似乎没有选项可以通过从 OA 日期转换来读取日期时间字段。解决方法是: 1- 使用 UnixEpoch,但它限制你

【讨论】:

    猜你喜欢
    • 2014-08-10
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 2015-12-26
    • 2013-04-13
    相关资源
    最近更新 更多