概要
- EntityFrameworkCore 1.1.2を使ってScaffold使おうとしてdotnet efしてもエラーになる
-
No executable found matching command "dotnet-ef"
と怒られる - Scaffold-DbContextも無理
- そもそも英語ばっかり2016年の記事で古い!
- project.jsonとか知らない!
という自分のための備忘録
ハマりポイント
-
Microsoft.EntityFrameworkCore.Tools.DotNet
をインストールしたら動くらしい- バージョンが最新の構成だとバージョン違いとかなんとかでエラー
この時にNuGetを使ってはいけない
解決策
- プロジェクトのcsprojを開く
- 下記をProject要素配下に書く
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" />
</ItemGroup>
-
PackageReference
じゃなくてDotNetCliToolReference
なのがミソ - 後は適当にPowerShellとか起動して
dotnet restore
してdotnet ef
すればOK
まとめ
-
発展途中の技術のせいか新旧いろんな情報が交錯してわかりにくい!
-
みんなもQiitaに.NET Coreとかの備忘録を上げよう
-
実際のコマンドの使い方は続EntityFrameworkCore 1.1.2でScaffoldを参照