private void WriteInsertPortion <T>( IEnumerable <T> list, EntityInfo mapping, NpgsqlConnection conn, string tempTableName, NpgsqlBulkCodeBuilder <T> codeBuilder) { // 2. Import into temp table using (var importer = conn.BeginBinaryImport($"COPY {tempTableName} ({mapping.CopyColumnsForInsertQueryPart}, __index) FROM STDIN (FORMAT BINARY)")) { var opContext = new OperationContext(context, false); var index = 1; foreach (var item in list) { importer.StartRow(); codeBuilder.WriterForInsertAction(item, importer, opContext); importer.Write(index, NpgsqlDbType.Integer); index++; } // Temp solution!!! //importer.Complete(); CompleteMethodInfo.Invoke(importer, null); } }