Preview Support for MySQL Bulk Operations is Now Available in RepoDB

2 minute read

Published:

We are excited to announce the preview release of Bulk Operations support for MySQL in RepoDB — shipped as two dedicated implementations, RepoDb.MySqlConnector and RepoDb.MySql, so you get native Bulk Operations whichever ADO.NET driver you’re already using.

What’s in this preview?

Both packages now expose the full set of Bulk Operations you already know from RepoDB:

  • BulkInsert — insert large sets of rows in a single round-trip
  • BulkUpdate — update large sets of rows in bulk
  • BulkMerge — insert-or-update in bulk
  • BulkDelete — delete large sets of rows in bulk
  • BulkDeleteByKey — delete large sets of rows by primary/composite key in bulk

They follow the same fluent, high-performance programming model RepoDB is known for on SQL Server, PostgreSQL, SQLite, and Oracle — just targeting MySQL now, with your choice of driver.

And also see the dedicated page for MySqlConnector if you are using that.

Getting started

Install whichever package matches the MySQL driver you use:

> Install-Package RepoDb.MySqlConnector.BulkOperations

or

> Install-Package RepoDb.MySql.BulkOperations

Then use the Bulk Operations directly against your MySqlConnection (or IDbConnection):

using (var connection = new MySqlConnection(connectionString))
{
    // BulkInsert
    var customers = GetCustomersToInsert();
    var insertedRows = connection.BulkInsert(customers);

    // BulkUpdate
    var customersToUpdate = GetCustomersToUpdate();
    var updatedRows = connection.BulkUpdate(customersToUpdate);

    // BulkMerge
    var customersToMerge = GetCustomersToMerge();
    var mergedRows = connection.BulkMerge(customersToMerge, qualifiers: e => e.Id);

    // BulkDelete
    var customersToDelete = GetCustomersToDelete();
    var deletedRows = connection.BulkDelete(customersToDelete);

    // BulkDeleteByKey
    var keysToDelete = new[] { 10045, 10046, 10047 };
    var deletedByKeyRows = connection.BulkDeleteByKey<Customer>(keysToDelete);
}

Alpha today, aligning toward a unified release

As mentioned in our announcement on X / Twitter, this is still an Alpha release — not yet Preview or RC — as we’re working to align and release it alongside RepoDB’s Bulk Operations packages for many other database providers.

Our goal is simple: provide a consistent, high-performance Bulk Operations API across database providers, while keeping these capabilities free and open source. RepoDB now brings this model across SQL Server, PostgreSQL, MySQL, Oracle, and SQLite, with more providers — including IBM Db2 — on the roadmap.

🔜 Next up: Bulk Operations for IBM Db2.

We would love to hear your feedback as you try MySQL Bulk Operations out; it directly shapes what we prioritize on the way to general availability.

Please support us

Give a ⭐ to our Github repository | Follow me at X / Twitter | Connect with us at our official Teams Channel
Apache License 2.0 — Copyright © 2026 by Michael Camara Pendon / Create a Request