
【Visual Studioで今すぐ使える】Entity Framework Coreの概要と導入方法
プログラムを作成する時には、データベースへのアクセス処理を実装することも多いですが、手間が多くて大変という方もいるでしょう。
Entity Framework Coreを使用すると、処理の手間を減らすことができるので、この記事で概要と使い方を紹介していきます。
- SE
- データベースにアクセスする処理を実装するのに手間が掛かってしまいますが、何か良い方法はないでしょうか?
- PM
- そういう場合は、Entity Framework Coreを使うといいですよ。内容を一緒に確認しましょう。
目次
Entity Framework Coreの概要
Entity Framework Coreとは、データベースへのアクセスを行う処理の実装を簡素化するものです。
通常の開発では、データベースへの接続処理や接続解除の処理など、記述する必要のある処理が多くなってしまいます。Entity Framework Coreでは、そういったコードのほとんどの記述が不要になるので、シンプルにすることができるでしょう。
また、Entity Framework Coreは多くのデータベース、マルチプラットフォームに対応しているため、様々な環境で使用することが可能です。
Entity Framework Coreは、モデルを使用してデータアクセスを行います。
モデルでは、データベースのテーブルと1対1になるように、エンティティクラスを作成します。
このエンティティクラスがあることで、実際のテーブルとのマッピングが容易になり、コードと実際のデータの紐付けが分かりやすくなります。
Entity Framework Coreの使用方法
続いて、実際にEntity Framework Coreを使用していきます。まずはモデルの作成です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using Microsoft.EntityFrameworkCore; namespace ConsoleDotnetCore { public class ApplicationDbContext : DbContext { public DbSet<User> Users { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseSqlite("Data Source=consoleDotnetCore.db"); } public class User { public int Id { get; set; } public string Name { get; set; } public int Sex { get; set; } public string Tel { get; set; } public string Email { get; set; } } } |
モデルに必要なクラスは2種類です。
1. テーブルのエンティティクラス
テーブルと1対1でクラスを作成してください。本記事では、Usersテーブルを作成します。
実行前はデータが何も登録されていない状態です。
クラス名はテーブル名の単数形にするのが一般的な習慣です。
変数で、必要なカラムを定義します。本記事では5つのカラムが存在する、Usersテーブルという例になります。
13 14 15 16 17 18 19 20 |
public class User { public int Id { get; set; } public string Name { get; set; } public int Sex { get; set; } public string Tel { get; set; } public string Email { get; set; } } |
2. データベースコンテキスト
データベースを管理するクラスです。以下のコードがコンテキストクラスのコードです。
1 2 3 4 5 6 7 |
public class ApplicationDbContext : DbContext { public DbSet<User> Users { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseSqlite("Data Source=consoleDotnetCore.db"); } |
先ほど1で定義したUsersテーブルを使用する記述をします。
3 |
public DbSet<User> Users { get; set; } |
そして、OnConfiguringメソッドで実際に使用するデータベースの設定を行います。
5 6 |
protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseSqlite("Data Source=consoleDotnetCore.db"); |
ここでは、データベースとしてSQLiteを使用しています。続いて、実際にデータベースにデータを登録してみましょう。
1 2 3 4 5 6 7 8 9 10 |
using var db = new ApplicationDbContext(); db.Add(new User() { Id = 1, Name = "taro yamada", Sex = 0, Tel = "09011112222", Email = "taro.yamada@sample.jp" }); db.SaveChanges(); |
実行すると結果は以下のようになります。
データが登録されました。上記のように、データの操作はLINQを使用することで、データベースへのアクセスが行えます。
- SE
- Entity Framework Coreを使用することで、データベースへのアクセスは簡単になりますね。
- PM
- そうですね。データベースやプラットフォームも様々なものに対応しているので、様々な環境で使えます!
Entity Framework Coreでデータベースへのアクセス処理を簡単に
Entity Framework Coreを使用することで、データベースへのアクセスを簡単にすることができました。
本記事ではSQLiteを使用しましたが、データベースの種類も問わず、マルチプラットフォームに対応していて様々な環境で使えるので、ぜひ使ってみてください。