DEV.co
Open-Source Databases · PomeloFoundation

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.

Source: GitHub — github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql
3k
GitHub stars
415
Forks
C#
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
RepositoryPomeloFoundation/Pomelo.EntityFrameworkCore.MySql
OwnerPomeloFoundation
Primary languageC#
LicenseMIT — OSI-approved
Stars3k
Forks415
Open issues213
Latest release9.0.0 (2025-08-17)
Last updated2025-08-17
Sourcehttps://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).

Quickstart

Get the Pomelo.EntityFrameworkCore.MySql source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql.gitcd Pomelo.EntityFrameworkCore.MySql# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

ASP.NET Core web applications with MySQL backends

Primary use case; integrates seamlessly with dependency injection, migrations, and ASP.NET Core configuration patterns shown in the getting-started documentation.

MariaDB compatibility layer for legacy or cost-optimized deployments

Actively tested against MariaDB 10.5 LTS through 11.6; suitable for AWS Aurora MySQL-compatible or self-hosted MariaDB environments requiring modern ORM tooling.

.NET console and Windows service applications requiring structured data access

Standalone DbContext usage without ASP.NET; integration tests demonstrate console application samples and testing scenarios.

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.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

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.

Software development agency

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.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related 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?
Likely yes. README states Aurora is in topics and older versions (e.g., MySQL 5.7) are usually compatible; however, only actively maintained MySQL and MariaDB versions are tested in CI. Test with your Aurora version and report issues if needed.
Can I use Pomelo with .NET Framework 4.6.1?
Only with version 3.2.7 (released 2021-10-04). Current releases (9.0.0, 8.0.3, 7.0.0) require .NET 6.0 or .NET Core 8.0+. .NET Framework support was dropped.
What is the relationship between Pomelo and the official EF Core MySQL provider?
Unknown from provided data. README claims Pomelo is 'the most popular' provider; consult Microsoft EF Core documentation or provider comparison guides for official stance.
How do I report bugs or contribute?
GitHub issues, pull requests, and wiki updates. 213 open issues as of last check; maintainers appear responsive. Follow contribution guidelines in repository.

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.