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