次の方法で共有


Microsoft SQL Server EF Core データベース プロバイダー

このデータベース プロバイダーを使用すると、Entity Framework Core を Microsoft SQL Server (Azure SQL や Azure Synapse Analytics を含む) で使用できます。 プロバイダーは、Entity Framework Core プロジェクトの一部として保持されます。

取り付ける

Microsoft.EntityFrameworkCore.SqlServer NuGet パッケージをインストールします。

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

手記

プロバイダーは、(System.Data.SqlClient ではなく) Microsoft.Data.SqlClient を参照します。 プロジェクトが SqlClient に直接依存している場合は、それが Microsoft.Data.SqlClient パッケージを参照していることを確認します。

ヒント

Microsoft.Data.SqlClient パッケージは、EF Core プロバイダーよりも頻繁に出荷されます。 新機能とバグ修正を利用する場合は、最新バージョンの Microsoft.Data.SqlClient に直接パッケージ参照を追加できます。

警告

Microsoft.Data.SqlClient の非同期実装には、残念ながらいくつかの既知の問題があります (例: #593#601など)。 予期しないパフォーマンスの問題が発生する場合は、特に大きなテキストまたはバイナリ値を処理する場合は、代わりに同期コマンドの実行を使用してみてください。

使用方法

EF 9 以降では、UseAzureSqlUseAzureSynapse を使用して、Azure SQL または Azure Synapse Analytics に具体的に接続することを指定し、オンプレミスの SQL Server に接続することを指定 UseSqlServer することをお勧めします。そうすることで、プロバイダーはこれらのプラットフォームを最適化し、適切にサポートできるようになります。 また、UseCompatibilityLevel メソッドを使用して互換性レベルを指定し、生成された SQL が互換性を持ち、最新の機能を使用するようにすることをお勧めします。

手記

UseAzureSql と UseAzureSynapse メソッドは、EF Core 9.0 で導入されました。

サポートされているデータベース エンジン

  • Microsoft SQL Server (2012 以降)
  • Azure SQL
  • Azure Synapse Analytics