【Visual Studioで今すぐ使える】Entity Framework Coreの概要と導入方法
プログラムを作成する時には、データベースへのアクセス処理を実装することも多いですが、手間が多くて大変という方もいるでしょう。
Entity Framework Coreを使用すると、処理の手間を減らすことができるので、この記事で概要と使い方を紹介していきます。
- システム
エンジニア - データベースにアクセスする処理を実装するのに手間が掛かってしまいますが、何か良い方法はないでしょうか?
- プロジェクト
マネージャー - そういう場合は、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を使用することで、データベースへのアクセスが行えます。
- システム
エンジニア - Entity Framework Coreを使用することで、データベースへのアクセスは簡単になりますね。
- プロジェクト
マネージャー - そうですね。データベースやプラットフォームも様々なものに対応しているので、様々な環境で使えます!
Entity Framework Coreでデータベースへのアクセス処理を簡単に
Entity Framework Coreを使用することで、データベースへのアクセスを簡単にすることができました。
本記事ではSQLiteを使用しましたが、データベースの種類も問わず、マルチプラットフォームに対応していて様々な環境で使えるので、ぜひ使ってみてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)