事情起因

使用ef core进行从sql server中读取数据写入pg中(空库),

然后再进行update操作时,先后出现了如下错误提示:

  • 已经存在一个相同的Key
  • 期望有1项修改,实际是0项目
  • 有其他正在修改


可以考虑下面几点:

  • pg的datetime类型为 timestamp,不要使用date
  • 同样是char类型,pg的全角字符、全角数字占位一个,而sqlserver的全角字符占位2个(通过相同的char长度,会发现pg后面的空格比较多)
  • 接上一个,当ef core读取出来后,然后再回查update的时候,会出现找不到主键的问题


不用考虑:

ef core 不能映射List<string>,这个问题已经解决,可以映射List<string>