EF Coreの基本から、データアクセスの設計思想まで一気通貫。
研修概要
C# Entity Framework Core 実践は、.NETアプリケーションにおけるデータベースアクセスを実務で活用するための「ORM基礎」と「設計パターン実装」の習得を目標とした実践型研修です。
DbContext・Entity・DbSet・LINQによる基本操作から、テーブル結合・トランザクション制御、さらにRepositoryパターンとAdapterパターンを用いた拡張性の高い設計まで一気通貫で提供することで、SQL直書きによる属人化とテスト困難なコードという開発課題を解消し、保守性の高いデータベースアクセス基盤を確立させます。
こんな課題を持つ企業におすすめ
開発現場
- SQL直書きのレガシーコードが属人化しており、仕様変更のたびに修正漏れやバグが発生している。
- DB操作のコードが機能ごとにバラバラで、ユニットテストを書ける構造になっていない。
- 開発環境・本番環境でDBエンジンが異なり、DB切り替えのたびに大規模修正が発生している。
- エンジニアによって書き方が混在し、コードレビューの基準が定まらない状況が続いている。
- 設計パターンの知識がメンバーによってバラバラで、チーム全体の共通言語として根づいていない。
本研修の到達目標
開発現場
- 1 EF Coreの基本構成要素を理解し、活用できるようになります DbContext・DbSet・Entityクラスの役割を理解し、データの登録・更新・削除・検索といった基本的なCRUD操作を実装できるようになります。
- 2 テーブル結合・トランザクション制御を安全に実装できるようになります Data Annotations・Fluent APIによるリレーションシップ設定と、BeginTransaction・Commit・Rollbackを用いた複数テーブルにまたがる更新処理を安全に実装できるようになります。
- 3 RepositoryパターンとAdapterパターンを通じて、DDDの設計思想を実装レベルで習得できるようになります インターフェイスを介したDBアクセス層の分離設計を習得し、ドメインオブジェクト・Repositoryインターフェイスを実装することで、DDDの設計思想を「当たり前の知識」として自然に身につけられるようになります。
本研修の特長
ORM基礎から設計パターンまで一貫して習得
単なるCRUD操作の習得にとどまらず、RepositoryパターンとAdapterパターンを用いたアーキテクチャ設計まで一気通貫で学べます。「動くコード」から「保守できるコード」への転換を一研修で実現します。
PostgreSQLを使ったマルチDB対応の演習環境
SQL ServerではなくPostgreSQLを使った演習環境を提供します。EF Coreのプロバイダ切り替えによるDB非依存設計を体感でき、クラウドやLinux系インフラへの移行を見据えた現場に直結するスキルを習得できます。
テストが書けるコードへの設計転換を体験
Repositoryインターフェイスを介した実装により、インメモリDBへの差し替えやモック活用でユニットテストが書ける構造を演習で体得します。「テストが書けないコード」という現場課題を設計レベルで解消します。
研修カリキュラム
| 日程 | 章・学習テーマ | 学習内容・習得スキル |
|---|---|---|
| 1日目 | 第1章:Entity Framework Coreの概要 | EF CoreとORMの基本概念を学びます。Microsoftが提供する公式ORMライブラリとしての位置づけ、C#オブジェクトとRDBMSを橋渡しする仕組み、主要機能と導入方法を理解します。 |
| 第2章:基本的なデータベース操作 | DbContextクラス・Entityクラス・DbSetプロパティの役割を学び、LINQを用いたデータの登録・検索・更新・削除(CRUD)を実装します。問合せ条件の指定やトラッキングモードについても習得します。 |
|
| 第3章:テーブル結合(リレーションシップ) | テーブル間の関連付けをData AnnotationsとFluent APIで定義する方法を学びます。関連データの取得パターンを実装し、リレーションシップ設計の基本を習得します。 |
|
| 第4章:トランザクション制御 | EF CoreのBeginTransaction・Commit・Rollbackを使った複数テーブルにまたがる更新処理を安全に実装する方法を学びます。更新処理での例外ハンドリングまで体系的に習得します。 |
|
| 2日目 | 第5章:応用的なクエリ操作 | LINQを用いた並べ替え・グループ化・サブクエリ・集計関数を実装します。SQLとの対応関係を理解し、適切なクエリを選択できる実務的な判断力を養います。 |
| 第6章:データベースアクセス機能の設計・実装 | RepositoryパターンとAdapterパターンを用いたDBアクセス層の設計・実装を学びます。ドメインオブジェクト・Repositoryインターフェイスの定義から実装まで、DDDの設計思想を実践レベルで体得します。依存性逆転の原則(DIP)も合わせて習得します。 |
|
| 演習:設計原則の定着 | 第6章で学んだ設計パターンを演習アプリに適用します。変更に強く・テストしやすいデータアクセス層を自走して実装することで、設計原則を現場で使える知識として定着させます。 |
必要な受講環境と前提知識
受講環境
本研修はWSL2(Ubuntu 24.04 LTS)上にPostgreSQL 17を構築した演習環境を使用します。受講者のPCに以下の環境を事前にセットアップしてご参加ください。
| ホストOS | Windows 11 |
|---|---|
| Linux環境 | WSL2(Ubuntu 24.04 LTS) |
| IDE | Visual Studio Code |
| 拡張機能 | C# for Visual Studio Code / C# Dev Kit for Visual Studio Code / C# IDE Extensions for VSCode |
| RDBMS | PostgreSQL 17(WSLにインストール) |
| クエリツール | pgAdmin4(Windows 11にインストール) |
| Entity Framework Core | Npgsql.EntityFrameworkCore.PostgreSQL(PostgreSQL用プロバイダ) |
前提知識
- C#プログラミングの基礎:変数・条件分岐・ループ・クラス・メソッドを用いた基本的なプログラミングができること。
- C#オブジェクト指向:クラス・インターフェイス・継承・アクセス修飾子の基本を理解していること。
- SQLの基礎:SELECT・INSERT・UPDATE・DELETE・JOINの基本操作を理解していること。
- 基本的なPC・OS操作:Visual Studio Codeを使ったコード編集・ターミナル操作ができること。WSL2(Ubuntu)環境での初歩的なコマンド入力に抵抗がないこと。
- LINQ・ラムダ式(あると望ましい):ラムダ式の基本的な記述方法を理解していることが望ましいです(研修内で補足説明あり)。
お問い合わせ
本研修に関するご質問・お申し込みは、以下のフォームよりお問い合わせください。
担当者より2営業日以内にご連絡いたします。
