【问题标题】:Set DateStyle to DMY On Database Migration在数据库迁移时将 DateStyle 设置为 DMY
【发布时间】:2017-03-06 21:35:12
【问题描述】:

默认情况下,如果未创建数据库,迁移将处理创建。但是它会将 DateStyle 设置为 ISO、MDY。我希望它是 DMY,但我还没有在 OnModelCreatingOnConfiguring 中找到使用 Npgsql 和 Entity-Framework Core 的默认方法。

这可以在 Npgsql 迁移中实现吗?

【问题讨论】:

  • 不能直接发出SQL语句SET DateStyle = 'ISO, DMY'吗?

标签: c# postgresql entity-framework-core npgsql


【解决方案1】:

DateStyle 不是数据库属性(即在创建数据库时进行管理),它是一个连接参数,用于简单地管理日期/时间值如何显示,即转换为字符串。这不应该以任何方式影响 Entity Framework Core 本身的工作 - EF(或者更确切地说是 Npgsql)以二进制编码读取和写入日期。

如果由于某种原因您需要以字符串形式获取日期,您始终可以按照@laurenz-albe 的建议自行设置 DateStyle。这可以在 EFCore 中通过简单地执行 ctx.Database.ExecuteSqlCommand("SET DateStyle = 'ISO, DMY'") 来完成,其中 ctx 是您的 DbContext。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 2015-04-24
    • 1970-01-01
    相关资源
    最近更新 更多