はじめに
業務でアプリケーションで使用するテーブルをEntity Frameworkで実装する機会があったので手順をメモしておく。
Entity Frameworkとは
以下の特徴がある。
- Entity Framework(EF)は、Microsoftが開発したオブジェクトリレーショナルマッピング(ORM)フレームワークで、これにより、データベースとのやり取りをより簡単かつ効率的にすることができる
- Entity Frameworkを使用することで、開発者はデータベースのテーブルをクラスとしてマッピングし、データベース操作をオブジェクトとして扱うことができる
テーブル実装
- 以下の2つのテーブルを作成する(EFではテーブルの定義をC#のオブジェクトとして定義する)
- Product.cs
- Category.cs
Product.cs
namespace YourNamespace.Entities
{
public class Product
{
public int Id { get; set; } // プライマリキー
public string Name { get; set; } // プロダクト名
public decimal Price { get; set; } // プロダクトの価格
// 他のプロパティを追加
}
}
Category.cs
namespace YourNamespace.Entities
{
public class Category
{
public int Id { get; set; } // プライマリキー
public string Title { get; set; } // カテゴリ名
// 他のプロパティを追加
}
}
- EFではデータベース接続、エンティティの管理、クエリの実行、およびトランザクションの管理をデータベースコンテキストと呼ばれるクラスを通じて行う
YourDbContext.cs
namespace YourNamespace
{
public class YourDbContext : DbContext
{
public DbSet<Product> Products { get; set; } // 新しく追加
public DbSet<Category> Categories { get; set; } // 新しく追加
// コンストラクタ、OnModelCreatingメソッド、その他の設定
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// モデルの設定があればここに
}
}
}
- 新しいエンティティとデータベースコンテキストの更新が完了したら、マイグレーションを作成する
↓以下のコマンドをパッケージマネージャーコンソールで実行
Add-Migration AddMultipleEntities
実行するとマイグレーションファイルがマイグレーションフォルダ内に保存される。
- 作成されていることを確認し、以下のコマンドを実行することで、Migrationフォルダ内のマイグレーションファイルが参照されデータベースの作成、更新を行ってくれます
Update-Database
まとめ
EFを活用することで、開発者は手動でのスキーマ管理の手間を減らし、エンティティモデルの変更を素早くデータベースに反映させることができます。
参考:https://learn.microsoft.com/ja-jp/ef/core/managing-schemas/migrations/?tabs=vs