Pomelo.EntityFrameworkCore.MySql
Pomelo.EntityFrameworkCore.MySql is a C# provider that lets .NET applications use Entity Framework Core with MySQL and MariaDB databases. It wraps MySqlConnector for database communication and supports the latest EF Core versions.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | PomeloFoundation/Pomelo.EntityFrameworkCore.MySql |
| Owner | PomeloFoundation |
| Primary language | C# |
| License | MIT — OSI-approved |
| Stars | 3k |
| Forks | 415 |
| Open issues | 213 |
| Latest release | 9.0.0 (2025-08-17) |
| Last updated | 2025-08-17 |
| Source | https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql |
What Pomelo.EntityFrameworkCore.MySql is
A managed EF Core provider for MySQL/MariaDB built on MySqlConnector, supporting EF Core 9.0.x with .NET 8.0+. It provides ORM abstraction, query translation, migrations, and specialized packages for JSON serialization and spatial data (NetTopologySuite).
Get the Pomelo.EntityFrameworkCore.MySql source
Clone the repository and explore it locally.
git clone https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql.gitcd Pomelo.EntityFrameworkCore.MySql# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Explicit MySqlServerVersion or ServerVersion.AutoDetect() configuration required at DbContext setup; version mismatch can cause silent SQL generation errors.
- Connection string format differs from SQL Server/PostgreSQL conventions; ensure 'server=', 'user=', 'password=', 'database=' syntax or use connection string builders.
- Migrations inherit all standard EF Core patterns; test against target MySQL/MariaDB version in CI (versions 8.4, 10.6 LTS, 11.4 LTS recommended for stability).
- JSON support requires optional packages (Pomelo.EntityFrameworkCore.MySql.Json.Microsoft or .Newtonsoft); choose based on existing serialization strategy.
- Spatial data (geography, geometry) requires NetTopologySuite package; non-trivial to set up; validate against actual database spatial indexes.
When to avoid it — and what to weigh
- Non-.NET technology stack — This is a .NET/C# library; requires a .NET ecosystem (8.0+ for version 9.0.0). Not suitable for Python, Node.js, Java, or other language stacks.
- Older .NET Framework targets (pre-.NET 6.0) — Latest releases (9.0.0, 8.0.3, 7.0.0) dropped .NET Framework and .NET Standard 2.0 support. If you need .NET Framework 4.6.1, you are limited to v3.2.7 (2021-10-04 release).
- NoSQL or non-relational database requirements — Pomelo is a relational ORM; unsuitable for MongoDB, DynamoDB, or document-store architectures. Use native drivers or document ORM libraries instead.
- Requirement for database-agnostic code without provider-specific configuration — EF Core's abstraction helps, but MySQL-specific SQL generation and server version detection (e.g., MySqlServerVersion) make portability to other engines non-trivial.
License & commercial use
MIT License. Permissive open-source license allowing commercial use, modification, and distribution with attribution and no warranty.
MIT is a permissive OSI license suitable for commercial use. No restrictions on proprietary applications, bundling, or closed-source derivatives. However, review your own licensing obligations for downstream dependencies (MySqlConnector, EF Core, .NET runtime) in a commercial context.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Strong |
| Assessment confidence | High |
Inherits EF Core and MySqlConnector security postures. Connection strings should use environment variables or secure configuration providers, never hardcoded. EnableSensitiveDataLogging() (shown in docs) must be disabled in production to avoid leaking credentials in logs. TLS/SSL support depends on MySqlConnector and server configuration. Parameterized queries (automatic via LINQ) mitigate SQL injection. No claims of formal security audit.
Alternatives to consider
Microsoft.EntityFrameworkCore.SqlServer
Official EF Core provider for SQL Server; better integration with Azure, Windows auth, and enterprise licensing; requires SQL Server instead of MySQL/MariaDB.
Npgsql (NpgsqlEntityFrameworkCore)
EF Core provider for PostgreSQL; strong community, advanced JSON/array support, open-source database; different SQL dialect and deployment footprint than MySQL.
Dapper or raw ADO.NET
Micro-ORM or hand-written SQL; lower abstraction, more control, less boilerplate; suitable for high-performance or non-standard query patterns; sacrifices rapid development and type safety.
Build on Pomelo.EntityFrameworkCore.MySql with DEV.co software developers
Contact our team to discuss integration strategy, version compatibility, and migration planning for your ASP.NET Core or .NET console applications.
Talk to DEV.coRelated on DEV.co
Explore the category and the services that help you build with it.
Pomelo.EntityFrameworkCore.MySql FAQ
Does Pomelo work with Amazon Aurora MySQL?
Can I use Pomelo with .NET Framework 4.6.1?
What is the relationship between Pomelo and the official EF Core MySQL provider?
How do I report bugs or contribute?
Software development & web development with DEV.co
DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If Pomelo.EntityFrameworkCore.MySql is part of your open-source databases roadmap, our team can implement, customize, migrate, and maintain it.
Ready to evaluate Pomelo for your MySQL/.NET stack?
Contact our team to discuss integration strategy, version compatibility, and migration planning for your ASP.NET Core or .NET console applications.