【最新版本V5.1.4.207】PGSQL 插入时间字段BUG 返回

SqlSugar 沟通中
12 270

数据库连接字符串(擦除了敏感信息):

PORT=*;DATABASE=*;HOST=*;USER ID=*;PASSWORD=*


业务代码很简单:

image.png


实体时间字段:

image.png


BUG复现:

当是复数新增(多条新增)时打印的SQL:

image.png

可以看到 批量新增时,时间字段是包含时区的数据(ISO格式时间)


单条新增时

image.png

可以看到时间字段被格式化了 导致数据库的时间有差异

热忱回答12

  • fate sta fate sta VIP0
    1个月前

     Insertable(list).UseParamter().Execommand()

    用usepara插入试试

    0 回复
  • 欣宝 欣宝 VIP0
    1个月前

    @fate staimage.png这是现在的代码

    0 回复
  • 欣宝 欣宝 VIP0
    1个月前

    @fate sta:UseParameter和PageSize有冲突

    0 回复
  • fate sta fate sta VIP0
    1个月前

    @欣宝:useparameter内部就有分页。

    0 回复
  • 欣宝 欣宝 VIP0
    1个月前

    @fate sta:使用UseParameter后,所有的sql都变成了格式化时间,就是没有时区的时间image.png

    0 回复
  • 欣宝 欣宝 VIP0
    1个月前

    @fate sta:但是系统是多时区系统,虽然目前来说可以全部都是UTC时间存储。但是后期就没办法处理时区信息了。有办法全部都带时区吗?

    0 回复
  • 欣宝 欣宝 VIP0
    1个月前

    而且后期不同环境导致的数据库默认时区不一致的问题 很不好解决

    0 回复
  • fate sta fate sta VIP0
    1个月前

    需要时区一般用dattetimeoffset

    0 回复
  • fate sta fate sta VIP0
    1个月前

    DateTime参数化默认是没有时区的。只有DateTimeOffset有时区。

    0 回复
  • fate sta fate sta VIP0
    1个月前

    并且打印的SQL是不准的。

    0 回复
  • fate sta fate sta VIP0
    1个月前

    只要参数化了,打印的SQL只是个参考。。

    0 回复
  • 欣宝 欣宝 VIP0
    1个月前

    全局换成DateTimeOffset后 sql正常了,数据也正常了

    0 回复