EntityFramework
.NETCore
EntityFramework_Core

EntityFrameworkCore 1.1.2でScaffold

概要

  • 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を参照