finds.dev← search

// the find

PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

★ 2,967 · C# · MIT · updated Aug 2025

Entity Framework Core provider for MySQL and MariaDB built on top of MySqlConnector

The de facto EF Core provider for MySQL and MariaDB, built on MySqlConnector rather than the older Oracle Connector/NET. If you're running EF Core against MySQL 8.x or any recent MariaDB version in a .NET project, this is what you're using — there's no serious alternative. Tracks EF Core major versions closely, with 9.0.0 shipping the same day as EF Core 9.

MySqlConnector underneath means true async I/O and no global lock issues that plagued the Oracle connector. Server version detection at startup (`ServerVersion.AutoDetect`) handles the MySQL/MariaDB dialect split cleanly rather than forcing you to hardcode it. The expression visitor stack is deep and well-tested — things like bool optimizations, HAVING clause quirks, and bitwise return type fixes that EF Core's generic layer gets wrong on MySQL are all patched here. JSON column support ships as separate opt-in packages for both System.Text.Json and Newtonsoft, which keeps the core dependency graph clean.

MySQL 5.7 is untested and effectively unsupported even though it's still widely deployed on managed cloud offerings — you'll hit silent behavior differences if your production server is behind the tested matrix. MariaDB and MySQL diverge enough that some LINQ queries silently generate subtly wrong SQL depending on which server you're actually connected to, and the provider doesn't always surface that at model-build time. Full-text search and MySQL-specific index hints are exposed but the documentation is thin — the wiki is the primary reference and several pages are years out of date. No support for MySQL vector types (just added in MySQL 9.x), which matters if you're eyeing the database for embeddings work.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →