2016-09-28 10 views
2

EFコアがEntityFramework.*の代わりにMicrosoft.EntityFrameworkCore.*に移行したため、dbマイグレーションを追加するために推奨されるコマンドラインは、パッケージマネージャーからadd-migrationに戻っているようです。Entity Frameworkコア1.0.1 add-migration

ef core add migration documentation

しかしそこにパッケージがコマンドのためにもうないとV 1.0.1のパッケージのインストールは任意のコマンドを追加していないようです。

Add-Migrationを実行しているとき、私は取得していますエラーメッセージがEntityFramework.Commandsがスタートアッププロジェクトのプロジェクト名 'にインストールされていないため

このコマンドを実行することはできませんです。

私は何かを見逃しましたか?コマンドなどを追加する新しい方法はありますか?ご協力いただきありがとうございます!

+0

これを達成するためにパッケージマネージャーを通過するのではなく、標準のコマンド – cdie

+0

を使用してパッケージマネージャコンソールを使用するよう指示し、標準コマンドライン(ps/cmder)を使用するとコマンドレットが認識されない – baywet

+0

標準cmdを使用する場合は、 'dotnet migrations add MigrationName'を使用して動作させる必要があります(DbContextとオブジェクトが配置されているフォルダ内で実行するようにしてください) – cdie

答えて

6

.NETコアプロジェクトでPackage Managerコンソールコマンド(Add-Migrationなど)を使用するには、project.jsonのようなものが必要です。 dependencies

{ 
    "dependencies": { 
     "Microsoft.EntityFrameworkCore.Sqlite": "1.0.1", 
     "Microsoft.EntityFrameworkCore.Tools": { 
      "version": "1.0.0-preview2-final", 
      "type": "build" 
     } 
    }, 
    "tools": { 
     "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final" 
    } 
} 

Microsoft.EntityFrameworkCore.Toolsは、PowerShellのコマンドは、登録を取得保証します。 "type": "build"は、アプリケーションで公開されないようにします。 Microsoft.EntityFrameworkCore.Toolsdependenciesに設定すると、dotnet efコマンドが確実に登録されます(これはPowerShellコマンドによって呼び出されます)。

+0

あなたの答えをありがとう、私はここにそれを持って私のコメントを凝縮しようとしていた。 @tsengが指摘しているように、文書の回避策を使わなければならなかった – baywet

関連する問題