こんにちは。藤原です。
この記事では、.NET Webアプリケーション開発でDBフレームワークである EntityFrameWorkCore(以下、EFCoreと記載)について取り上げています。
今回はEFCoreを介して、実践編①ということでEFCoreをプロジェクトに導入。コンテキストクラスの作成までやってしまいましょう🗒
注意
本記事はDB接続のための前準備が完了している前提で記載しています。
準備がまだの方は↓の【準備編】をご参照ください。
https://qiita.com/pesysyon/items/54b51c70a31a41eef035
今回の目標
・接続先テーブルの作成
・EFCore の導入
・DBコンテキストクラスの作成
接続先テーブルの作成
それではさっそくソースコードでテーブルのデータを取得!
...といきたいところですが、テーブルが無いですね。
まずはSSMS(SQL Server Management Studio)上からさくっと検証用のテーブルを
作成してしまいましょう!
SSMSで前回の記事で作成しておいたDBを開きます。
開けたらテーブルで「新規作成 > テーブル」を選択しましょう。
すると「列名」「データ型」「NULL許容」等のテーブルへ作成カラムの
設定UIが表示されるかと思います。
今回は MemberId(会員ID)、MemberName(会員名)、MemberAddress(会員住所)という3つのカラムを設定しました。
※主キーは MemberId(会員ID)で3つともNULL非許容に設定。
カラムが設定出来たら、Ctrl + S (保存ボタンでも可)を押して、テーブル名を設定します。
テーブル名は「Member」としました。
入力できたら「OK」を押して、テーブルの作成を完了しましょう。
無事にテーブルが作成できました!検証用としてはこれで十分です。
注意
実際の開発の際にはテーブル定義はシステム根幹を担うため、
きちんとした設計が重要です。
EFCore の導入
さあ、それでは本丸のEFCoreをPJに導入しましょう~!
VisualStudioでの作業に戻ります。
ソースが書きたくてウズウズしている方、もう少しです。。
Nugetパッケージ管理にて「参照」タブを選択し、「EntityFrameWorkCore」で検索すると「Microsoft.EntityFrameworkCore.SqlServer」がヒットします。
対象PJ確認のうえ、インストールを実行しましょう。
バージョンはご自身の作成されたソリューションのバージョンに合わせましょう。
互換性がないバージョンインストールを試みるとインストールに失敗します。
インストールが完了したらソリューションエクスプローラー上から、対象のPJ -> 依存関係 -> パッケージを開いてPJにPkgが追加されていることを確認しましょう!
これでEFCoreの導入も完了です!
DBコンテキストクラスの作成
それでは必要なクラス作成へと移りましょう。
DBコンテキストの作成
DBコンテキストクラスとは、一言でいうと「データベースとのやり取りを管理する中心的な役割を果たすクラス」と言えます。
このクラスでデータベース接続を管理するので、EFCoreにおいて欠かせない重要な役割を担っているわけです。
その他にも「エンティティとDBのマッピング」「クエリの実行と追跡」「トランザクションの管理」など大切な幾つかの役割を担います。
より詳しく知りたい方は公式ページを読んでみることが良いと思います。
Entity Framework Core Microsoft公式ページ
まずはフォルダを1つ追加してDBコンテキスト用のファイルを新規作成します。
名前は「DB名+Context」とするのがおススメです。
クラスが作成できたら、usingで「EntityFrameworkCore」と「SqlClient」を追加しましょう!
これでEFCoreの恩恵を受けられます
最後に
今回はDBコンテキストクラスの作成まで完了しました。
ここからはDBコンテキストの必要処理、Modelクラスの作成、実際のデータ取得と進んでいきます。
ここまで読んでいただき、ありがとうございました
以上、藤原でした。