Macから.net coreでWeb API を作ろうとしたらハマったので備忘録。
Visual Studio for Mac上ではできずコマンドでやることになった。

環境は .net core 2.1 + MySQL 5.x 古いのは実業務に寄せたため。
たぶん8だと最初は認証周りであれこれしないといけない。

プロジェクトの作り方とかはこちらを参考にしました。
ASP.NET Core 2.0 EntityFrameworkCoreでMySQLを使う CodeFirst

まずはモデルを設計してテーブルを生成 & ALTERするケース(コードファースト)。

コードファーストってナーニって人はこちら。
早い話がモデル(クラス)設計したらテーブル自動でできてほしいよねってこと。
EF 4.1の目玉機能「コード・ファースト」を理解しよう(1/3) – @IT

①ビルドする 当たり前だけどビルド通らないとうごかない

②migrationする 正解がわからないけどテーブル設計変更するたびにコードレベルで別物として残るのでなんとなーくバージョンみたいなの付与してみた

ちなみにこんなふうに全部過去のやつのこってる

③更新する

ここまで問題なく動くと

こんな感じになる。

でこんな風にテーブルができてる。

テーブルを作成してモデルを自動生成するパターン(データベースファースト)。
既存のシステムへ使ったりする時はこちらが良いが複合主キーなどどこまでやってくれるか詳細不明

①ビルドする 当たり前だけどビルド通らないとうごかない

②scaffoldする

-o で指定したフォルダに出力される

問題がなければこんな風に勝手にモデルに追加される。