Bagikan melalui


Penyedia Database

Entity Framework Core dapat mengakses berbagai database melalui pustaka plug-in yang disebut penyedia database.

Penyedia saat ini

Important

Penyedia EF Core dibangun oleh berbagai sumber. Tidak semua penyedia dipertahankan sebagai bagian dari Proyek Inti Kerangka Kerja Entitas Microsoft. Saat mempertimbangkan penyedia, evaluasi kualitasnya, lisensinya, dukungannya, dll. untuk memastikan kebutuhan Anda terpenuhi. Pastikan Anda juga meninjau dokumentasi setiap penyedia untuk mengetahui informasi kompatibilitas versi secara mendetail.

Important

Penyedia EF Core biasanya tidak berfungsi di seluruh versi utama. Misalnya, penyedia yang dirilis untuk EF Core 8 tidak akan berfungsi dengan EF Core 9.

Paket NuGet Mesin database yang didukung Pengelola/Vendor Catatan/Persyaratan Untuk EF Core Tautan yang berguna
Microsoft.EntityFrameworkCore.SqlServer Azure SQL, SQL Server 2012 dan seterusnya, Azure Synapse Analytics Proyek EF Core (Microsoft) 8, 9, 10 docs
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.46.1 dan seterusnya Proyek EF Core (Microsoft) 8, 9, 10 docs
Microsoft.EntityFrameworkCore.InMemory Database dalam memori EF Core Proyek EF Core (Microsoft) Limitations 8, 9, 10 docs
Microsoft.EntityFrameworkCore.Cosmos API SQL Azure Cosmos DB Proyek EF Core (Microsoft) 8, 9, 10 docs
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Tim Pengembangan Npgsql 8, 9 docs
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Proyek Pomelo Foundation 8, 9 readme
MySql.EntityFrameworkCore MySQL Proyek MySQL (Oracle) 8, 9 docs
Oracle.EntityFrameworkCore Oracle DB 19c dan seterusnya Oracle 8, 9, 10 docs
MongoDB.EntityFrameworkCore MongoDB MongoDB 8 docs
Couchbase.EntityFrameworkCore Couchbase Couchbase 8, 9 docs
Devart.Data.MySql.EFCore MySQL 5 dan seterusnya DevArt Paid 8, 9 docs
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 dan seterusnya DevArt Paid 8, 9 docs
Devart.Data.PostgreSql.EFCore PostgreSQL 8.0 dan seterusnya DevArt Paid 8, 9 docs
Devart.Data.SQLite.EFCore SQLite 3 dan seterusnya 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 Grup MASES Percobaan, Langganan 8 docs
InterBase InterBase InterBase 8 docs
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0 dan seterusnya Jiří Činčura 8 docs
IBM.EntityFrameworkCore Db2, Informix IBM Berbayar, Windows 8 Persiapan
IBM.EntityFrameworkCore-lnx Db2, Informix IBM Berbayar, Linux 8 Persiapan
IBM.EntityFrameworkCore-osx Db2, Informix IBM Berbayar, macOS 8 Persiapan
EntityFrameworkCore.Jet File Microsoft Access CirrusRedOrg Windows 8, 9 readme
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Ekosistem Cloud Spanner 8 tutorial
Teradata.EntityFrameworkCore Database Teradata 16.10 dan seterusnya Teradata 3 website
FileContextCore Menyimpan data dalam file Morris Janatzek Untuk tujuan pengembangan 3 readme
FileBaseContext Menyimpan tabel dalam file k.D.g Untuk tujuan pengembangan 8, 9, 10 readme
EntityFrameworkCore.SqlServerCompact35 SQL Server Compact 3.5 Erik Ejlskov Jensen .NET Framework 2 wiki
EntityFrameworkCore.SqlServerCompact40 SQL Server Compact 4.0 Erik Ejlskov Jensen .NET Framework 2 wiki
EntityFrameworkCore.OpenEdge Kemajuan OpenEdge Alex Wiese 2 readme
EFCore.Snowflake Snowflake Krzysztof Sielaff 8 readme
EFCore.Kusto Azure Data Explorer (Kusto) Anas Ismail Khan 8 readme
EntityFrameworkCore.Ydb YDB Tim YDB 9, 10 website

Menambahkan penyedia database ke aplikasi Anda

Sebagian besar penyedia database untuk EF Core didistribusikan sebagai paket NuGet, dan dapat diinstal sebagai berikut:

dotnet add package provider_package_name

Setelah diinstal, Anda akan mengonfigurasi penyedia di DbContext, baik dalam metode OnConfiguring atau metode AddDbContext jika Anda menggunakan kontainer injeksi dependensi. Misalnya, baris berikut mengonfigurasi penyedia SQL Server dengan string koneksi yang diteruskan:

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

Penyedia database dapat memperluas EF Core untuk mengaktifkan fungsionalitas yang unik untuk database tertentu. Beberapa konsep bersifat umum untuk sebagian besar database, dan disertakan dalam komponen EF Core utama. Konsep tersebut termasuk menyatakan kueri dalam LINQ, transaksi, dan pelacakan perubahan objek setelah dimuat dari database. Beberapa konsep spesifik untuk penyedia tertentu. Misalnya, penyedia SQL Server memungkinkan Anda mengonfigurasi tabel yang dioptimalkan memori (fitur yang spesifik untuk SQL Server). Konsep lain spesifik untuk kelas penyedia. Misalnya, penyedia EF Core untuk database hubungan dibangun di pustaka Microsoft.EntityFrameworkCore.Relational umum, yang menyediakan API untuk mengonfigurasi pemetaan tabel dan kolom, batasan kunci asing, dll. Penyedia biasanya didistribusikan sebagai paket NuGet.

Important

Ketika versi patch baru EF Core dirilis, rilis ini sering kali mencakup pembaruan untuk paket Microsoft.EntityFrameworkCore.Relational. Saat penyedia database hubungan ditambahkan, paket ini menjadi dependensi transitif aplikasi Anda. Tetapi banyak penyedia dirilis secara independen dari EF Core dan mungkin tidak diperbarui untuk bergantung pada versi patch yang lebih baru dari paket tersebut. Untuk memastikan Anda akan mendapatkan semua perbaikan bug, sebaiknya tambahkan versi patch Microsoft.EntityFrameworkCore.Relational sebagai dependensi langsung aplikasi Anda.