C# Entity Framework Core 実践

#プログラミング言語・ツール

C# Entity Framework Core 実践 ORMの基本操作から、変更に強いデータアクセス層の設計まで

EF Coreの基本から、データアクセスの設計思想まで一気通貫。

Overview

研修概要

C# Entity Framework Core 実践は、.NETアプリケーションにおけるデータベースアクセスを実務で活用するための「ORM基礎」と「設計パターン実装」の習得を目標とした実践型研修です。

DbContext・Entity・DbSet・LINQによる基本操作から、テーブル結合・トランザクション制御、さらにRepositoryパターンとAdapterパターンを用いた拡張性の高い設計まで一気通貫で提供することで、SQL直書きによる属人化とテスト困難なコードという開発課題を解消し、保守性の高いデータベースアクセス基盤を確立させます。

Issues

こんな課題を持つ企業におすすめ

開発現場

  • SQL直書きのレガシーコードが属人化しており、仕様変更のたびに修正漏れやバグが発生している。
  • DB操作のコードが機能ごとにバラバラで、ユニットテストを書ける構造になっていない
  • 開発環境・本番環境でDBエンジンが異なり、DB切り替えのたびに大規模修正が発生している。
  • エンジニアによって書き方が混在し、コードレビューの基準が定まらない状況が続いている。
  • 設計パターンの知識がメンバーによってバラバラで、チーム全体の共通言語として根づいていない
Goals

本研修の到達目標

For Engineers

開発現場

  • 1 EF Coreの基本構成要素を理解し、活用できるようになります DbContext・DbSet・Entityクラスの役割を理解し、データの登録・更新・削除・検索といった基本的なCRUD操作を実装できるようになります。
  • 2 テーブル結合・トランザクション制御を安全に実装できるようになります Data Annotations・Fluent APIによるリレーションシップ設定と、BeginTransaction・Commit・Rollbackを用いた複数テーブルにまたがる更新処理を安全に実装できるようになります。
  • 3 RepositoryパターンとAdapterパターンを通じて、DDDの設計思想を実装レベルで習得できるようになります インターフェイスを介したDBアクセス層の分離設計を習得し、ドメインオブジェクト・Repositoryインターフェイスを実装することで、DDDの設計思想を「当たり前の知識」として自然に身につけられるようになります。
Features

本研修の特長

Feature 01

ORM基礎から設計パターンまで一貫して習得

単なるCRUD操作の習得にとどまらず、RepositoryパターンとAdapterパターンを用いたアーキテクチャ設計まで一気通貫で学べます。「動くコード」から「保守できるコード」への転換を一研修で実現します。

Feature 02

PostgreSQLを使ったマルチDB対応の演習環境

SQL ServerではなくPostgreSQLを使った演習環境を提供します。EF Coreのプロバイダ切り替えによるDB非依存設計を体感でき、クラウドやLinux系インフラへの移行を見据えた現場に直結するスキルを習得できます。

Feature 03

テストが書けるコードへの設計転換を体験

Repositoryインターフェイスを介した実装により、インメモリDBへの差し替えやモック活用でユニットテストが書ける構造を演習で体得します。「テストが書けないコード」という現場課題を設計レベルで解消します。

Curriculum

研修カリキュラム

期間:2日間 / 使用言語:C#(.NET) / 演習DB:PostgreSQL 17

日程 章・学習テーマ 学習内容・習得スキル
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章で学んだ設計パターンを演習アプリに適用します。変更に強く・テストしやすいデータアクセス層を自走して実装することで、設計原則を現場で使える知識として定着させます。

補足教材について LINQ(Language Integrated Query)の記述方法・クエリ構文、およびEF CoreからのSQL直接実行については自習教材として提供します。2日目は第6章の演習時間を十分に確保した構成となっています。
研修内容のカスタマイズについて 本研修で使用するDBエンジン(PostgreSQL)や演習で扱うデータモデルについては、御社の実際の開発環境やプロジェクトの技術スタック(SQL Server・MySQL等)に合わせてカスタマイズした内容での実施も可能です。ぜひお気軽にご相談ください。
Environment

必要な受講環境と前提知識

受講環境

本研修はWSL2(Ubuntu 24.04 LTS)上にPostgreSQL 17を構築した演習環境を使用します。受講者のPCに以下の環境を事前にセットアップしてご参加ください。

ホストOSWindows 11
Linux環境WSL2(Ubuntu 24.04 LTS)
IDEVisual Studio Code
拡張機能C# for Visual Studio Code / C# Dev Kit for Visual Studio Code / C# IDE Extensions for VSCode
RDBMSPostgreSQL 17(WSLにインストール)
クエリツールpgAdmin4(Windows 11にインストール)
Entity Framework CoreNpgsql.EntityFrameworkCore.PostgreSQL(PostgreSQL用プロバイダ)

前提知識

  • C#プログラミングの基礎:変数・条件分岐・ループ・クラス・メソッドを用いた基本的なプログラミングができること。
  • C#オブジェクト指向:クラス・インターフェイス・継承・アクセス修飾子の基本を理解していること。
  • SQLの基礎:SELECT・INSERT・UPDATE・DELETE・JOINの基本操作を理解していること。
  • 基本的なPC・OS操作:Visual Studio Codeを使ったコード編集・ターミナル操作ができること。WSL2(Ubuntu)環境での初歩的なコマンド入力に抵抗がないこと。
  • LINQ・ラムダ式(あると望ましい):ラムダ式の基本的な記述方法を理解していることが望ましいです(研修内で補足説明あり)。
Contact

お問い合わせ

本研修に関するご質問・お申し込みは、以下のフォームよりお問い合わせください。
担当者より2営業日以内にご連絡いたします。

必須 プライバシーポリシーを確認し、同意する