Skip to content

mysql-net/MySqlConnector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

805d65e · Apr 19, 2025
Jan 27, 2025
Nov 11, 2022
Apr 19, 2025
Jun 7, 2023
Apr 19, 2025
Apr 17, 2025
Apr 19, 2025
Mar 21, 2025
Apr 19, 2024
Oct 17, 2021
Jan 27, 2025
Oct 14, 2019
Oct 30, 2021
Mar 21, 2025
Apr 19, 2025
Jan 20, 2024
Feb 27, 2025
Oct 31, 2017
Sep 17, 2023
Feb 17, 2025
Feb 2, 2025
Feb 19, 2024
Apr 19, 2025
Feb 27, 2025
Apr 24, 2024

Repository files navigation

MySQL Connector for .NET and .NET Core

NuGet

This is an ADO.NET data provider for MySQL and other compatible servers including MariaDB. It provides implementations of DbConnection, DbCommand, DbDataReader, DbTransaction—the classes needed to query and update databases from managed code.

Complete documentation is available at the MySqlConnector Documentation Website.

Why Use This Library?

Performance

This library outperforms MySQL Connector/NET (MySql.Data) on benchmarks:

Benchmark

(Client: MySqlConnector 2.3.1, MySql.Data 8.2.0, Ubuntu 23.04, .NET 8.0; Server: Azure Database for MySQL 8.0.34, TLS 1.2)

Server Compatibility

This library is compatible with many MySQL-compatible servers, including MySQL 5.5 and newer and MariaDB 10.x and newer. MySql.Data only supports MySQL Server.

Bug Fixes

This library fixes dozens of outstanding bugs in Connector/NET.

Cutting Edge

This library implements the latest ADO.NET APIs, from async (introduced in .NET Framework 4.5), through DbBatch (.NET 6.0) and DbDataSource (.NET 7.0).

License

This library is MIT-licensed and may be freely distributed with commercial software. Commercial software that uses Connector/NET may have to purchase a commercial license from Oracle.

Related Projects

This library is compatible with popular .NET ORMs including:

For Entity Framework support, use:

For ASP.NET Core health checks, use:

Build Status

AppVeyor Azure Pipelines

Building

Install the latest .NET.

To build and run the tests, clone the repo and execute:

dotnet restore
dotnet test tests\MySqlConnector.Tests

To run the integration tests, see the instructions.

Goals

The goals of this project are:

  1. .NET Standard support: It must run on the full .NET Framework and all platforms supported by .NET Core.
  2. Async: All operations must be truly asynchronous whenever possible.
  3. High performance: Avoid unnecessary allocations and copies when reading data.
  4. Lightweight: Only the core of ADO.NET is implemented, not EF or Designer types.
  5. Managed: Managed code only, no native code.
  6. Independent: This is a clean-room reimplementation of the MySQL Protocol, not based on Connector/NET.

Cloning the full API of Connector/NET is not a goal of this project, although it will try not to be gratuitously incompatible. For typical scenarios, migrating to this package should be easy.

License

This library is licensed under the MIT License.

Contributing

If you'd like to contribute to MySqlConnector, please read our contributing guidelines.

Acknowledgements

Development of MySqlConnector is supported by:

Devolutions

Devolutions

Faithlife

Faithlife (View jobs)