在数据库迁移时将 DateStyle 设置为 DMY
Set DateStyle to DMY On Database Migration
默认情况下,如果未创建数据库,迁移将处理创建。但是,它会将 DateStyle 设置为 ISO、MDY。我希望它是 DMY,但我还没有在 OnModelCreating
或 OnConfiguring
中使用 Npgsql 和 Entity-Framework Core 找到默认方法。
这可以在 Npgsql 迁移中实现吗?
DateStyle 不是数据库 属性(即在创建数据库时进行管理),它是一个连接参数,仅管理 date/time 值如何 显示,即转换为字符串。这不应该以任何方式影响 Entity Framework Core 本身的工作 - EF(或更确切地说 Npgsql)以二进制编码读取和写入日期。
如果出于某种原因您需要将日期作为字符串获取,您始终可以按照@laurenz-albe 的建议自行设置 DateStyle。这可以在 EFCore 中通过简单地执行 ctx.Database.ExecuteSqlCommand("SET DateStyle = 'ISO, DMY'")
来完成,其中 ctx 是您的 DbContext。
默认情况下,如果未创建数据库,迁移将处理创建。但是,它会将 DateStyle 设置为 ISO、MDY。我希望它是 DMY,但我还没有在 OnModelCreating
或 OnConfiguring
中使用 Npgsql 和 Entity-Framework Core 找到默认方法。
这可以在 Npgsql 迁移中实现吗?
DateStyle 不是数据库 属性(即在创建数据库时进行管理),它是一个连接参数,仅管理 date/time 值如何 显示,即转换为字符串。这不应该以任何方式影响 Entity Framework Core 本身的工作 - EF(或更确切地说 Npgsql)以二进制编码读取和写入日期。
如果出于某种原因您需要将日期作为字符串获取,您始终可以按照@laurenz-albe 的建议自行设置 DateStyle。这可以在 EFCore 中通过简单地执行 ctx.Database.ExecuteSqlCommand("SET DateStyle = 'ISO, DMY'")
来完成,其中 ctx 是您的 DbContext。