我正在使用实体框架核心,我有以下代码,在我的本地Postgresql db和AWS Postgresql实例上工作良好。
_dbContext.SomeTable.UpdateRange(existingItems);
await _dbContext.SomeTable.AddRangeAsync(newItems);
return await _dbContext.SaveChangesAsync();
当我在AWS Aurora PostgreSQL区域集群上使用它时,它失败了,错误:
Npgsql.NpgsqlException (0x80004005): Received backend message CopyData while expecting CommandCompleteMessage.
我可以创建,更新和删除单个项目,但是当我试图创建>400k个项目时发生了这种情况。
不知道发生了什么。我改变了
await _dbContext.SomeTable.AddRangeAsync(newItems);
_dbContext.SomeTable.AddRange(newItems);
,它成功了。也许这解决了问题,或者重新部署起了作用。