Entiy Framework Core のインストール

前提条件

  • EF には最新の .NET SDK が必要です。

    • 実行時に、EF Core には最新バージョンの .NET が必要です。 使用する EF Core のバージョンに必要な最小限の .NET バージョンを確認するには、"EF Core リリース" を参照してください。
  • EF Core を使用すると、Windows 上で Visual Studio を使用してアプリケーションを開発できます。 Visual Studio の最新バージョンをお勧めします。

Entity Framework Core を入手する

EF Core は、NuGet パッケージとして出荷されます。 EF Core をアプリケーションに追加するには、使用するデータベース プロバイダーに対応した NuGet パッケージをインストールします。 使用可能なデータベース プロバイダーの一覧については、「プロバイダー」を参照してください。

NuGet パッケージをインストールまたは更新するには、.NET Core コマンド ライン インターフェイス (CLI)、Visual Studio パッケージ マネージャー ダイアログ、または Visual Studio パッケージ マネージャー コンソールを使用できます。

.NET Core CLI

  • 次の .NET Core CLI コマンドをオペレーティング システムのコマンド ラインで使用して EF Core SQL Server プロバイダーのインストールまたは更新を行います。

    dotnet add package Microsoft.EntityFrameworkCore.SqlServer
    
  • -v 修飾子を利用し、dotnet add package コマンドで特定のバージョンを指定できます。 たとえば、EF Core 6.0.14 のパッケージをインストールするには、コマンドの末尾に -v 6.0.14 を追加します。

詳細については、「.NET コマンド ライン インターフェイス (CLI) ツール」をご覧ください。

Visual Studio の NuGet パッケージ マネージャー ダイアログ

  • Visual Studio のメニューから、[プロジェクト]> [NuGet パッケージの管理] の順に選択します

  • [参照] または [更新] タブをクリックします。

  • SQL Server プロバイダーをインストールまたは更新するには、Microsoft.EntityFrameworkCore.SqlServer パッケージを選択して確定します。

詳細については、「NuGet パッケージ マネージャー UI」を参照してください。

Visual Studio の NuGet パッケージ マネージャー コンソール

  • Visual Studio のメニューから、[ツール] > [NuGet パッケージ マネージャー] > [パッケージ マネージャー コンソール] の順に選択します

  • SQL Server プロバイダーをインストールするには、パッケージ マネージャー コンソールで、次のコマンドを実行します。

    Install-Package Microsoft.EntityFrameworkCore.SqlServer
    
  • プロバイダーを更新するには、Update-Package コマンドを使用します。

  • 特定のバージョンを指定するには、-Version 修飾子を使用します。 たとえば、EF Core 6.0.14 のパッケージをインストールするには、コマンドの末尾に -Version 6.0.14 を追加します

詳細については、「パッケージ マネージャー コンソール」を参照してください。

Entity Framework Core のツールを入手する

EF Core 関連のタスクをプロジェクト内で実行するためのツールをインストールできます。たとえば、データベース移行を作成して適用することや、EF Core モデルを既存のデータベースに基づいて作成することができます。

2 つのツールのセットを使用できます。

.NET Core CLI ツールを入手する

.NET Core CLI ツールを使用するには、「必須コンポーネント」で前述したとおり .NET Core SDK が必要です。

  • dotnet ef は、グローバルまたはローカルのツールとしてインストールする必要があります。 ほとんどの開発者は、次のコマンドを使用して、dotnet ef をグローバル ツールとしてインストールする方を選びます。

    dotnet tool install --global dotnet-ef
    

    dotnet ef もローカル ツールとして使用することができます。 ローカル ツールとして使用するには、ツール マニフェスト ファイルを使用してツールの依存関係として宣言するプロジェクトの依存関係を復元します。

  • ツールを更新するには、dotnet tool update コマンドを使用します。

  • 最新の Microsoft.EntityFrameworkCore.Design パッケージをインストールしてください。

    dotnet add package Microsoft.EntityFrameworkCore.Design
    

重要

ランタイム パッケージのメジャー バージョンと一致するバージョンのツール パッケージを常に使用してください。

パッケージ マネージャー コンソール ツールを入手する

EF Core 用のパッケージ マネージャー コンソール ツールを入手するには、Microsoft.EntityFrameworkCore.Tools パッケージをインストールします。 たとえば、Visual Studio で次のようにします。

Install-Package Microsoft.EntityFrameworkCore.Tools

最新の EF Core にアップグレードする

  • 新しいバージョンの EF Core がリリースされると、EF Core プロジェクトの一部であるプロバイダー (Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.SqliteMicrosoft.EntityFrameworkCore.CosmosMicrosoft.EntityFrameworkCore.InMemory など) の新しいバージョンもリリースされます。 新しいバージョンのプロバイダーにアップグレードするだけで、すべての機能強化を入手できます。

  • サードパーティ データベース プロバイダーを使用するアプリケーションを更新する場合、使用するバージョンの EF Core との間で互換性があるプロバイダーの更新がないか、常に確認してください。 たとえば、バージョン 1.0 のデータベース プロバイダーは、EF Core ランタイムのバージョン 2.0 などと互換性がありません。

  • EF Core 用のサードパーティ プロバイダーは通常、EF Core ランタイと並行してパッチ バージョンをリリースすることはありません。 サード パーティのプロバイダーを使用するアプリケーションを EF Core のパッチ バージョンにアップグレードするには、個々の EF Core ランタイム コンポーネント (特に Microsoft.EntityFrameworkCoreMicrosoft.EntityFrameworkCore.Relational) への直接参照を追加することが必要になる場合があります。