CodeZine(コードジン)

特集ページ一覧

Entity Frameworkコードファーストで開発してみよう

ADO.NET Entity Framework4.3でコードファースト開発をする方法を紹介

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2012/03/29 14:00
目次

3. エンティティの作成

 環境が整ったので、ユーザーデータを取り扱うエンティティを作成します。

Userクラスを追加

 [ソリューションエクスプローラー]で、プロジェクトを右クリックし [追加]-[クラス]をクリックします。

図4. クラスを新規追加
図4. クラスを新規追加

 コードファーストでは、クラスをエンティティとして使用します。

図5. クラス名をUser.csと設定
図5. クラス名をUser.csと設定

 ここでは以下のプロパティを持つUserエンティティを作成します。

Userエンティティのカラム設定
プロパティ
(カラム名)
説明
Id 数値 主キー列
Name 文字列 名前を保存する列
Age 数値 年齢を保存する列

プロパティを実装

 エンティティには、Id(もしくはUserId:クラス名+Id)という名前の数値型のプロパティを作成します。Entity Frameworkでテーブルの主キーを扱うために必須のプロパティとなります。

 そして、Nameプロパティ(名前を表す文字列型)とAgeプロパティ(年齢を表す数値型)を定義します。

Userエンティティにプロパティを実装
public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

4. DbContextの作成

 続けて、エンティティの管理を行うDbContextの派生クラスを記述します。

エンティティの管理を行うDbContext
Using System.Data.Entity;

public class MyContext: DbContext
{
   public DbSet<User> Users { get; set; }
}  

DbContextクラスとは

 DbContext(System.Data.Entity名前空間)は、データベース接続やエンティティの管理などを担当するクラスです。データの保存やバリデーションに関する機能を持っています。

 DbContextクラスは、コードファーストでデータ操作を行う上で最も重要なクラスといっても良いでしょう。従来のEntity FrameworkにおけるObjectContextクラスの軽量版のような役割となります。

DbContextのクラス図
DbContextのクラス図

DbSetクラスとは

 DbSet(System.Data.Entity名前空間)ではエンティティの集合を扱うことができます。登録/更新/削除といったエンティティで行うべき処理をDbSetクラスで把握することができます。 DbSetクラスは従来のEntity FrameworkにおけるObjectSetクラスの軽量版のような役割となります。

DbSetのクラス図
DbSetのクラス図

 以上で、コードファーストの準備は完了です。ここまでの手順によって、下図のようなプロジェクトが完成しています。

図6. 完成したプロジェクトとコード
図6. 完成したプロジェクトとコード

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5