Предположим, у меня есть таблица в postgres с первичным ключом, созданным в c #.Я пытаюсь вставить ключ, который является дубликатом и попытается вернуть ошибку, если такое событие произошло.Я намеренно вставляю дубликат записи, чтобы симулировать ошибку.Дело в том, что если у меня есть команда вставки, которая еще не была зафиксирована с использованием NPGSL TRANSACTION, то по какой-то причине код останавливается прямо перед разделом COMMIT, и другой пользователь создает PRIMARY KEY, который генерирует тот же ключ, так как первая транзакция не являетсясовершено еще и вставляется плавно.Первая транзакция при выполнении COMMIT вызовет исключение.Это то, что я имею в виду, но оно не работает.
command = new NpgsqlCommand(strQuery, conn);
if (command.ExecuteNonQuery() > 0)
return true;
else
throw new Exception("Data not inserted. Create new Transaction");
Этот код останавливается при запуске executetenonquery.