データベース プロバイダー
[アーティクル] 01/24/2025
32 人の共同作成者
フィードバック
この記事の内容
Entity Framework Core は、データベース プロバイダーと呼ばれるプラグイン ライブラリを通じて多数の異なるデータベースにアクセスできます。
現在のプロバイダー
重要
EF Core プロバイダーは、さまざまなソースによってビルドされます。 一部のプロバイダーは、Microsoft Entity Framework Core プロジェクト の一部として保守管理されていません。 プロバイダーの利用を検討するとき、要件に合うよう、品質、使用許諾、サポートなどを必ず評価してください。 また、バージョンの互換性情報の詳細について、各プロバイダーのドキュメントを確認してください。
重要
EF Core プロバイダーは、通常、メジャー バージョン間では機能しません。 たとえば、EF Core 8 用にリリースされたプロバイダーは、EF Core 9 では動作しません。
NuGet パッケージ
サポートされているデータベース エンジン
メンテナンス/仕入先
メモ/要件
対象の EF Core
便利なリンク
Microsoft.EntityFrameworkCore.SqlServer
Azure SQL、SQL Server 2012 以降、Azure Synapse Analytics
EF Core プロジェクト (Microsoft)
8, 9
docs
Microsoft.EntityFrameworkCore.Sqlite
SQLite 3.46.1 以降
EF Core プロジェクト (Microsoft)
8, 9
docs
Microsoft.EntityFrameworkCore.InMemory
EF Core In-Memory データベース
EF Core プロジェクト (Microsoft)
制限事項
8, 9
docs
Microsoft.EntityFrameworkCore.Cosmos
Azure Cosmos DB SQL API
EF Core プロジェクト (Microsoft)
8, 9
docs
Npgsql.EntityFrameworkCore.PostgreSQL
PostgreSQL
Npgsql 開発チーム
8, 9
docs
Pomelo.EntityFrameworkCore.MySql
MySQL、MariaDB
Pomelo Foundation プロジェクト
8, 9
readme
MySql.EntityFrameworkCore
MySQL
MySQL プロジェクト (Oracle)
8, 9
docs
Oracle.EntityFrameworkCore
Oracle DB 11.2 以降
Oracle
8, 9
Web サイト
MongoDB.EntityFrameworkCore
MongoDB
MongoDB
8
docs
Devart.Data.MySql.EFCore
MySQL 5 以降
DevArt
有料
8, 9
docs
Devart.Data.Oracle.EFCore
Oracle DB 9.2.0.4 以降
DevArt
有料
8, 9
docs
Devart.Data.PostgreSql.EFCore
PostgreSQL 8.0 以降
DevArt
有料
8, 9
docs
Devart.Data.SQLite.EFCore
SQLite 3 以降
DevArt
有料
8, 9
docs
Devart.Data.DB2.EFCore
DB2
DevArt
有料
8, 9
docs
Devart.Data.Bigcommerce.EFCore
BigCommerce
DevArt
有料
8, 9
docs
Devart.Data.Dynamics.EFCore
Microsoft Dynamics 365
DevArt
有料
8, 9
docs
Devart.Data.FreshBooks.EFCore
FreshBooks
DevArt
有料
8, 9
docs
Devart.Data.Magento.EFCore
Magento
DevArt
有料
8, 9
docs
Devart.Data.MailChimp.EFCore
Mailchimp
DevArt
有料
8, 9
docs
Devart.Data.QuickBooks.EFCore
QuickBooks に設定する必要があります
DevArt
有料
8, 9
docs
Devart.Data.Salesforce.EFCore
セールスフォース
DevArt
有料
8, 9
docs
Devart.Data.ExactTarget.EFCore
Salesforce MC (ExactTarget)
DevArt
有料
8, 9
docs
Devart.Data.Sugar.EFCore
SugarCRM
DevArt
有料
8, 9
docs
Devart.Data.Zoho.EFCore
Zoho CRM
DevArt
有料
8, 9
docs
Devart.Data.ZohoBooks.EFCore
Zoho Books
DevArt
有料
8, 9
docs
Devart.Data.ZohoDesk.EFCore
Zoho Desk
DevArt
有料
8, 9
docs
MASES.EntityFrameworkCore.KNet
Apache Kafka
MASES グループ
試用版、サブスクリプション
8
docs
InterBase
InterBase
InterBase
8
docs
FirebirdSql.EntityFrameworkCore.Firebird
Firebird 3.0 以降
Jiří Činčura
8
docs
IBM.EntityFrameworkCore
Db2、Informix
IBM
支払い済み、Windows
8
概要
IBM.EntityFrameworkCore-lnx
Db2、Informix
IBM
支払い済み、Linux
8
概要
IBM.EntityFrameworkCore-osx
Db2、Informix
IBM
支払い済み、macOS
8
概要
EntityFrameworkCore.Jet
Microsoft Access ファイル
CirrusRedOrg
Windows
8, 9
readme
Google.Cloud.EntityFrameworkCore.Spanner
Google Cloud Spanner
Cloud Spanner のエコシステム
現在プレビュー中
6
チュートリアル
Teradata.EntityFrameworkCore
Teradata データベース 16.10 以上
Teradata
3
Web サイト
FileContextCore
ファイルにデータを格納
Morris Janatzek
開発用
3
readme
FileBaseContext
テーブルをファイルに格納する
k.D.g
開発用
8, 9
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
Progress OpenEdge
Alex Wiese
2
readme
データベース プロバイダーをアプリケーションに追加する
EF Core のほとんどのデータベース プロバイダーは、NuGet パッケージとして配布され、次のようにインストールできます。
dotnet add package provider_package_name
install-package provider_package_name
インストールされたら、DbContext
で、OnConfiguring
メソッド、または依存関係注入コンテナーを使用している場合は AddDbContext
メソッドを使用してプロバイダーを構成します。
たとえば、次の行は、渡された接続文字列を使用して、SQL Server プロバイダーを構成します。
optionsBuilder.UseSqlServer(
@"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
データベース プロバイダーは、特定のデータベースに固有の機能を有効にするように EF Core を拡張できます。 いくつかの概念はほとんどのデータベースに共通しており、プライマリ EF Core コンポーネントに含まれています。 そのような概念には、LINQ のクエリの表現、トランザクション、データベースから読み込んだときのオブジェクトの変更追跡などがあります。
いくつかの概念は、特定のプロバイダーに固有のものです。 たとえば、SQL Server プロバイダーの場合、メモリが最適化されたテーブル (SQL Server 固有の機能) を構成できます 。 その他の概念は、プロバイダーのクラスに固有のものです。
たとえば、リレーショナル データベースの EF Core プロバイダーの場合、一般的な Microsoft.EntityFrameworkCore.Relational
ライブラリに基づいてビルドします。このライブラリは、テーブルと列のマッピングや外部キー制約などを構成するための API を提供します。プロバイダーは通常、NuGet パッケージとして配布されます。
重要
EF Core の新しい修正プログラムのバージョンがリリースされるときには、多くの場合 Microsoft.EntityFrameworkCore.Relational
パッケージの更新プログラムが含まれます。
ユーザーがリレーショナル データベース プロバイダーを追加するとき、このパッケージは、アプリケーション依存関係が推移的になります。
しかし、多くのプロバイダーが EF Core から独立してリリースされ、そのパッケージの新しい修正プログラムのバージョンに依存するように更新されないことがあります。
すべてのバグ修正が確実に取得されるようにするために、Microsoft.EntityFrameworkCore.Relational
の修正プログラム バージョンをアプリケーションの直接の依存関係として追加することをお勧めします。