こんにちは、そうとです。
普段、プロジェクトではC#を使って業務システムを開発しています。
今日はC#の代表的なORマッパーである EntityFramework
を紹介します。
ORマッパーはオブジェクト指向言語のオブジェクトとデータベースのレコードをマッピングしてプログラムからデータベースを操作するためのものです。要するにSQLを書かないでDBを操作することができます。便利ですね。
今回は、「EntityFramework」を使用した基本的なデータの追加、更新、削除についてご紹介したいと思います。
モデル作成
EntityFrameにおいての「モデル」とは、DBスキーマを定義するものであり、テーブルや、エンティティと呼ばれます。エンティティは単数、テーブルは複数といったイメージが近いです。
以下は Users
のモデルを定義するC#プログラムです。
using System;
using System.Collections.Generic;
namespace Users.Models
{
public class Users
{
//ID
public int ID { get; set; }
//氏名
public string Name { get; set; }
//性別
public string Gender { get; set; }
//生年月日
public DateTime BirthDay { get; set; }
//部門
public string Department { get; set; }
}
}
データベース情報
上記のプログラムは以下のようなテーブルスキーマになります。
以下はサンプルデータ。
データ追加
データを追加する際はこんな感じにします。
//データ追加
static void Main(string[] args)
{
using (var context = new DBContext())
{
// Addしただけではデータベースにはまだ追加されません
context.Users.Add(new Users
{
ID = 7,
Name = "佐々木",
Gender = "男性",
BirthDay = "2000/05/07",
Department = "システム部",
});
// SaveChangesメソッドを呼び出すとデータベースに反映されるようになります
context.SaveChanges();
}
}
データ取得
以下はプログラムは、var Users01
は ID=1
、var Users02
は Name="佐藤"
のデータが指定されて取得されます。
//データ取得
static void Main(string[] args)
{
using (var context = new DbContext())
{
var Users01 = context.Users.Find(x => x.ID == 1);
var Users02 = context.Users.Where(x => x.Name == "佐藤").ToArray();
}
}
データ更新
データを取得して、Nameを「佐藤」から「鈴木」に変更することもできます。
//データ更新
static void Main(string[] args)
{
using (var context = new DbContext())
{
var Users = context.User.Where(x => x.ID <= 4);
// 更新
Users.Name = "鈴木";
// 削除や更新をするときはSaveChangesメソッドを忘れずに呼び出します。
context.SaveChanges();
}
}
データ削除
ID=5
に該当するデータの削除を行うサンプルプログラム。
//データ削除
static void Main(string[] args)
{
using (var context = new DbContext())
{
var Users = context.User.Find(x => x.ID == 5);
//削除
context.Users.Remove(Users);
// 削除や更新をするときはSaveChangesメソッドを忘れずに呼び出します。
context.SaveChanges();
}
}
ざっとデータベースの操作は以上です。
すでに用意されたメソッドを使用することで、生のSQL文を書かなくてもデータベースに追加、更新、削除をすることが可能です。
C#でアプリケーション開発をする際は、是非、利用を検討してみて下さい。