Есть более производительный способ.
Когда нужно добавить новую запись, а затем сразу её прочитать, обычно выполняют два SQL-запроса:
INSERT и SELECT.С точки зрения выполнения всё нормально, но есть дополнительные расходы:
задержка сети и лишние обращения к базе данных.
На производительности это вполне может сказаться.
С Npgsql этого можно избежать. В нём есть пакетное выполнение запросов.
Суть в том, что несколько SQL-команд отправляются в базу данных за одно обращение вместо отдельного вызова
Execute для каждой команды.В Npgsql для этого используется
NpgsqlBatch: несколько NpgsqlBatchCommand объединяются и отправляются серверу одним запросом.Важная деталь.
Если вы сами не начали транзакцию, пакет автоматически выполняется внутри неявной транзакции.
Если одна из команд завершается с ошибкой, оставшиеся команды не выполняются, а весь пакет откатывается.




