在数据库迁移时将DateStyle设置为DMY

时间:2016-10-25 00:53:02

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

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

这可以在Npgsql迁移中做到吗?

1 个答案:

答案 0 :(得分:1)

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

如果出于某种原因需要将日期作为字符串获取,则可以按照@ laurenz-albe的建议自行设置DateStyle。这可以在EFCore中完成,只需执行ctx.Database.ExecuteSqlCommand("SET DateStyle = 'ISO, DMY'"),其中ctx是您的DbContext。