Writing a Database Provider

Note

This documentation is for EF Core. For EF6.x, see Entity Framework 6.

For information about writing an Entity Framework Core database provider, see So you want to write an EF Core provider by Arthur Vickers.

The EF Core code base is open source and contains several database providers that can be used as a reference. You can find the source code at https://github.com/aspnet/EntityFramework.

The providers-beware label

Once you begin work on a provider, watch for the providers-beware label on our GitHub issues and pull requests. We use this label to identify changes that may impact provider writers.

Suggested naming of third party providers

We suggest using the following naming for NuGet packages. This is consistent with the names of packages delivered by the EF Core team.

<Optional project/company name>.EntityFrameworkCore.<Database engine name>

For example:

  • Microsoft.EntityFrameworkCore.SqlServer
  • Npgsql.EntityFrameworkCore.PostgreSQL
  • EntityFrameworkCore.SqlServerCompact40