Compartir a través de


Database Providers

Entity Framework Core puede tener acceso a muchas bases de datos diferentes a través de bibliotecas de complementos denominadas proveedores de bases de datos.

Current providers

Important

Los proveedores de EF Core se componen de una serie de orígenes. No todos los proveedores se mantienen como parte del proyecto Entity Framework Core de Microsoft. Al considerar un proveedor, evalúe la calidad, las licencias, el soporte técnico, etc. a fin de asegurarse de que satisface los requisitos. Además, asegúrese de revisar la documentación de cada proveedor para obtener información detallada de compatibilidad de versiones.

Important

Normalmente, los proveedores de EF Core no funcionan en las versiones principales. Por ejemplo, un proveedor publicado para EF Core 8 no funcionará con EF Core 9.

NuGet Package Motores de base de datos compatibles Mantenedor o proveedor Notas o requisitos Para EF Core Useful links
Microsoft.EntityFrameworkCore.SqlServer Azure SQL, SQL Server 2012 y versiones posteriores, Azure Synapse Analytics Proyecto EF Core (Microsoft) 8, 9 docs
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.46.1 y versiones posteriores Proyecto EF Core (Microsoft) 8, 9 docs
Microsoft.EntityFrameworkCore.InMemory Base de datos en memoria de EF Core Proyecto EF Core (Microsoft) Limitations 8, 9 docs
Microsoft.EntityFrameworkCore.Cosmos API de SQL de Azure Cosmos DB Proyecto EF Core (Microsoft) 8, 9 docs
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Equipo de desarrollo de Npgsql 8, 9 docs
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Proyecto Pomelo Foundation 8, 9 readme
MySql.EntityFrameworkCore MySQL Proyecto MySQL (Oracle) 8, 9 docs
Oracle.EntityFrameworkCore Oracle DB 11.2 y versiones posteriores Oracle 8, 9 website
MongoDB.EntityFrameworkCore MongoDB MongoDB 8 docs
Couchbase.EntityFrameworkCore Couchbase Couchbase 8, 9 docs
Devart.Data.MySql.EFCore De MySQL 5 en adelante DevArt Paid 8, 9 docs
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 y versiones posteriores DevArt Paid 8, 9 docs
Devart.Data.PostgreSql.EFCore De PostgreSQL 8.0 en adelante DevArt Paid 8, 9 docs
Devart.Data.SQLite.EFCore De SQLite 3 en adelante DevArt Paid 8, 9 docs
Devart.Data.DB2.EFCore DB2 DevArt Paid 8, 9 docs
Devart.Data.Bigcommerce.EFCore BigCommerce DevArt Paid 8, 9 docs
Devart.Data.Dynamics.EFCore Microsoft Dynamics 365 DevArt Paid 8, 9 docs
Devart.Data.FreshBooks.EFCore FreshBooks DevArt Paid 8, 9 docs
Devart.Data.Magento.EFCore Magento DevArt Paid 8, 9 docs
Devart.Data.MailChimp.EFCore Mailchimp DevArt Paid 8, 9 docs
Devart.Data.QuickBooks.EFCore QuickBooks DevArt Paid 8, 9 docs
Devart.Data.Salesforce.EFCore Salesforce DevArt Paid 8, 9 docs
Devart.Data.ExactTarget.EFCore Salesforce MC (ExactTarget) DevArt Paid 8, 9 docs
Devart.Data.Sugar.EFCore SugarCRM DevArt Paid 8, 9 docs
Devart.Data.Zoho.EFCore Zoho CRM DevArt Paid 8, 9 docs
Devart.Data.ZohoBooks.EFCore Zoho Books DevArt Paid 8, 9 docs
Devart.Data.ZohoDesk.EFCore Zoho Desk DevArt Paid 8, 9 docs
MASES.EntityFrameworkCore.KNet Apache Kafka MASES Group Trial, Subscription 8 docs
InterBase InterBase InterBase 8 docs
FirebirdSql.EntityFrameworkCore.Firebird A partir de Firebird 3.0 Jiří Činčura 8 docs
IBM.EntityFrameworkCore Db2, Informix IBM Paid, Windows 8 getting started
IBM.EntityFrameworkCore-lnx Db2, Informix IBM Paid, Linux 8 getting started
IBM.EntityFrameworkCore-osx Db2, Informix IBM Paid, macOS 8 getting started
EntityFrameworkCore.Jet Archivos de Microsoft Access CirrusRedOrg Windows 8, 9 readme
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Ecosistema de Cloud Spanner 8 tutorial
Teradata.EntityFrameworkCore Teradata Database 16.10 en adelante Teradata 3 website
FileContextCore Almacena datos en archivos. Morris Janatzek Con fines de desarrollo. 3 readme
FileBaseContext Almacena tablas en archivos k.D.g Con fines de desarrollo. 8, 9 readme
EntityFrameworkCore.SqlServerCompact35 SQL Server Compact 3,5 Erik Ejlskov Montgomery .NET Framework 2 wiki
EntityFrameworkCore.SqlServerCompact40 SQL Server Compact 4.0 Erik Ejlskov Montgomery .NET Framework 2 wiki
EntityFrameworkCore.OpenEdge Progress OpenEdge Alex Wiese 2 readme
EFCore.Snowflake Snowflake Krzysztof Sielaff 8 readme

Agregar un proveedor de bases de datos a la aplicación

La mayoría de los proveedores de bases de datos para EF Core se distribuyen como paquetes NuGet y se pueden instalar siguiendo estos pasos:

dotnet add package provider_package_name

Una vez instalado, se configurará el proveedor en su DbContext, ya sea en el método OnConfiguring o el método AddDbContext si se usa un contenedor de inserción de dependencias. Por ejemplo, la línea siguiente configura el proveedor de SQL Server con la cadena de conexión pasada:

optionsBuilder.UseSqlServer(
    @"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");

Los proveedores de bases de datos pueden ampliar EF Core para habilitar una funcionalidad única para bases de datos específicas. Algunos conceptos son comunes a la mayoría de las bases de datos y se incluyen en los componentes principales de EF Core. Estos conceptos incluyen la expresión de consultas en LINQ, las transacciones y el seguimiento de cambios en objetos una vez cargados desde la base de datos. Algunos conceptos son específicos de un proveedor determinado. Por ejemplo, el proveedor de SQL Server permite configurar tablas optimizadas para memoria (una característica específica de SQL Server). Otros conceptos son específicos de una clase de proveedores. Por ejemplo, los proveedores de EF Core para bases de datos relacionales se basan en la biblioteca común Microsoft.EntityFrameworkCore.Relational, que proporciona API para configurar asignaciones de tabla y columna, restricciones de clave externa, etc. Los proveedores normalmente se distribuyen como paquetes NuGet.

Important

Cuando se publica una nueva versión de revisión de EF Core, suele incluir actualizaciones del paquete Microsoft.EntityFrameworkCore.Relational. Cuando se agrega un proveedor de bases de datos relacional, este paquete se convierte en una dependencia transitiva de la aplicación. Pero muchos proveedores se publican independientemente de EF Core y es posible que no puedan actualizarse para que se basen en la versión de revisión más reciente de ese paquete. A fin de asegurarse de que obtendrá todas las correcciones de errores, se recomienda agregar la versión de revisión de Microsoft.EntityFrameworkCore.Relational como dependencia directa de la aplicación.