private static async ValueTask <ulong> CompleteAndWriteRelationValues <TEntity>(NpgsqlConnection connection, NpgsqlBinaryImporter binaryImporter, EntityDefinition <TEntity> entityDefinition, IEnumerable <TEntity> entities, CancellationToken cancellationToken) where TEntity : class { ulong insertCount = await binaryImporter.CompleteAsync(cancellationToken); await binaryImporter.DisposeAsync(); for (int columnIndex = 0; columnIndex < entityDefinition.ForeignColumnDefinitions.Count; columnIndex++) { var column = entityDefinition.ForeignColumnDefinitions[columnIndex]; insertCount += await column.WriteValues(entities, connection, cancellationToken); } return(insertCount); }