3. エンティティの作成
環境が整ったので、ユーザーデータを取り扱うエンティティを作成します。
Userクラスを追加
[ソリューションエクスプローラー]で、プロジェクトを右クリックし [追加]-[クラス]をクリックします。
コードファーストでは、クラスをエンティティとして使用します。
ここでは以下のプロパティを持つUserエンティティを作成します。
|
プロパティ (カラム名) |
型 | 説明 |
| Id | 数値 | 主キー列 |
| Name | 文字列 | 名前を保存する列 |
| Age | 数値 | 年齢を保存する列 |
プロパティを実装
エンティティには、Id(もしくはUserId:クラス名+Id)という名前の数値型のプロパティを作成します。Entity Frameworkでテーブルの主キーを扱うために必須のプロパティとなります。
そして、Nameプロパティ(名前を表す文字列型)とAgeプロパティ(年齢を表す数値型)を定義します。
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
4. 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クラスの軽量版のような役割となります。
DbSetクラスとは
DbSet(System.Data.Entity名前空間)ではエンティティの集合を扱うことができます。登録/更新/削除といったエンティティで行うべき処理をDbSetクラスで把握することができます。 DbSetクラスは従来のEntity FrameworkにおけるObjectSetクラスの軽量版のような役割となります。
以上で、コードファーストの準備は完了です。ここまでの手順によって、下図のようなプロジェクトが完成しています。




