34.NETTER

Microsoft テクノロジと React

EntityFrameWorkを使って SQLserverをコードファストで作って crud

TL;DR

.NET core を使ったWebAppで やっぱりDBを使ったサービス作りたいよね

社内サービスでは「強い人が」ぱぱっと やっちゃってよくわからなかったから

自分で組み立てるよって話

この記事の目的

初期データ.csvがあって DB(SQLserver)にそのデータをInsertして反映させる

前提知識

  • ASP.NET core の基礎
  • Visual Studio を使えること
  • コードファストという言葉の意味

開発環境

課題

  • CSVをインポート
  • SQL Server に登録できるようにする
  • webAPI使ってInsert,Update
  • webAPI使ってCはやらないよ(できるの?)

再現手順

参考:https://docs.microsoft.com/ja-jp/ef/core/get-started/aspnetcore/new-db?toc=%2Faspnet%2Fcore%2Ftoc.json&bc=%2Faspnet%2Fcore%2Fbreadcrumb%2Ftoc.json&view=aspnetcore-2.2&tabs=visual-studio#prerequisites

ソリューションの直下にModelsフォルダを(なければ作る) モデルの下にclasshogehoge.csを作る

f:id:yamu778:20190511173638p:plain

hogehoge.csに

using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;

を追加 f:id:yamu778:20190511174948p:plain

1つのDBを作成するにはDbContextクラスをを利用します。 複数のDBを作成するには複数DbContextクラスが必要になります(基本的には)

DbContextクラスを通じてそのDBに付属する テーブルを操作します。

Dbcontextの記載は同一hogehoge.csに書いてもOKですが、 別ファイルにした方がいいかもしれません (今回は同一ファイルに書きました。) 

(hogehoge225.cs)

f:id:yamu778:20190511174700p:plain

別ファイルにするなら DbContext.csとして 分けたほうがいいでしょう

テーブルはhogehoge.csに追加 例:テーブル名がclass カラムに変数

f:id:yamu778:20190512010906p:plain

初期のDBとテーブル作成は パッケージマネージャーコンソール に

Add-Migration InitialCreate
Update-Database

でDBが作られます。

残った課題

WebAPIを使ったデータのinsert csvのインポート etc

最後に

長くなりましたので次回へ続きます。