ASP.NET MVCでEntity Frameworkを使ったデータベース操作を完全解説!初心者でも理解できる基本
生徒
「先生、ASP.NETでデータベースに情報を保存したり取り出したりする方法はありますか?」
先生
「はい、ASP.NET MVCではEntity Frameworkという仕組みを使うことで、簡単にデータベースとやり取りできますよ。」
生徒
「Entity Frameworkってなんだか難しそうですが、初心者でも使えるんですか?」
先生
「大丈夫です。むしろ、初心者こそ便利に使える機能なんです。では、基本から一緒に見ていきましょう!」
1. Entity Frameworkとは?
ASP.NET MVCでデータベース操作を行うときによく使われるのがEntity Framework(エンティティフレームワーク)です。これは、データベースとプログラムをつなぐための便利なツールで、難しいSQL文を一から書かなくても、C#のコードだけでデータを操作できる仕組みです。
たとえば、従来なら「INSERT」や「SELECT」といったSQL文を覚える必要がありました。しかしEntity Frameworkを使うと、「商品を追加する」「一覧を表示する」といった処理をオブジェクト(プログラムの部品)を通して直感的に書けるようになります。
2. モデル(Model)を作る
データベースに保存する情報は、まずモデルクラスとして定義します。モデルとは、データの設計図のようなもので、例えば「商品」の情報なら「商品名」「価格」「在庫数」といった項目を持つクラスを作成します。
public class Product
{
public int Id { get; set; } // 主キー
public string Name { get; set; } // 商品名
public int Price { get; set; } // 価格
}
このクラスを作ることで、データベースのテーブルと自動的に対応付けられるようになります。
3. データベースと接続するDbContext
次に、データベースとの橋渡しをするDbContextというクラスを作ります。ここで「どのテーブルを操作するのか」を設定します。
using System.Data.Entity;
public class AppDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
}
DbSet<Product>は「商品(Product)をデータベースで管理する」という意味です。これで、データベースに接続して操作する準備が整いました。
4. データを追加してみよう
では実際にデータを追加してみましょう。例えば新しい商品を登録するときは、以下のように書きます。
using (var db = new AppDbContext())
{
var product = new Product { Name = "ノートパソコン", Price = 120000 };
db.Products.Add(product);
db.SaveChanges();
}
データベースに「ノートパソコン」が保存されました
ここでポイントはSaveChanges()です。これは「実際にデータベースに保存する」命令です。
5. データを取り出して表示する
保存したデータを取り出すときは次のように書きます。
using (var db = new AppDbContext())
{
var products = db.Products.ToList();
foreach (var p in products)
{
Console.WriteLine(p.Name + " - " + p.Price + "円");
}
}
ノートパソコン - 120000円
ToList()を使うと、データベースからすべての情報を取得して一覧にできます。
6. データを更新する
商品情報を修正したい場合も簡単です。取り出したオブジェクトの値を変更して、SaveChanges()を実行するだけです。
using (var db = new AppDbContext())
{
var product = db.Products.FirstOrDefault(p => p.Name == "ノートパソコン");
if (product != null)
{
product.Price = 100000;
db.SaveChanges();
}
}
ノートパソコンの価格が100000円に更新されました
7. データを削除する
不要になったデータは削除できます。削除の流れもとてもシンプルです。
using (var db = new AppDbContext())
{
var product = db.Products.FirstOrDefault(p => p.Name == "ノートパソコン");
if (product != null)
{
db.Products.Remove(product);
db.SaveChanges();
}
}
ノートパソコンが削除されました
8. 初心者が理解しやすいEntity Frameworkの魅力
Entity Frameworkの最大の魅力は、SQLを書かずにデータベース操作ができることです。まるでエクセルに行や列を追加するような感覚で、プログラムの中にデータを保存したり取り出したりできます。これにより、プログラミング初心者でも複雑なデータ処理を簡単に扱えるようになります。
また、ASP.NET MVCと組み合わせることで、フォームから入力した内容をそのままデータベースに保存したり、一覧画面に表示したりといった実用的なアプリケーションを作れるようになります。
まとめ
ASP.NET MVCの部分ビューを理解して画面設計を効率化しよう
この記事では、ASP.NET MVCにおける部分ビュー(Partial View)の基本から実践的な使い方までを、 初心者にも分かりやすく解説してきました。部分ビューとは、Web画面の中で何度も使われる共通パーツを 一つのファイルとして切り出し、複数の画面から再利用できる仕組みです。 ヘッダーやフッター、メニュー、一覧表示用のカードなど、同じ構造を何度も使う場面では特に効果を発揮します。
ASP.NET MVCで部分ビューを活用することで、HTMLの重複記述を減らし、 画面構造をシンプルに保つことができます。 同じデザインをコピーして貼り付ける方法と比べると、 修正が必要になった場合も部分ビューのファイルを一か所直すだけで済むため、 保守性や可読性が大きく向上します。 これは個人開発だけでなく、チームで行うWebアプリケーション開発においても非常に重要なポイントです。
Partial Viewの基本的な使い方の振り返り
部分ビューは通常、Viewsフォルダ配下のSharedフォルダに配置します。 こうすることで、どのコントローラやビューからでも呼び出しやすくなります。 ファイル名の先頭にアンダースコアを付けるのは、 それが「画面の一部」であることを示すための一般的なルールです。
表示する際は、@Html.Partial() や @Html.RenderPartial() を使用します。 初心者のうちは、記述がシンプルで分かりやすい @Html.Partial() を使うことで、 部分ビューの仕組みを無理なく理解できます。 慣れてきたら、処理速度の違いや使い分けについても意識するとよいでしょう。
部分ビューとモデルの関係を整理する
部分ビューの大きな特徴の一つが、モデルを受け取れる点です。 呼び出し元のビューからデータを渡すことで、 表示内容を柔軟に切り替えることができます。 特に、一覧画面でデータをループしながら部分ビューを繰り返し表示する方法は、 ASP.NET MVCの開発現場で非常によく使われるパターンです。
また、部分ビュー専用のViewModelを定義することで、 型安全にデータを扱えるようになります。 これにより、入力ミスやプロパティの指定漏れといったトラブルを事前に防ぎやすくなり、 安定したASP.NET MVCアプリケーションの構築につながります。
部分ビューを使ったシンプルなサンプル構成
// 一覧画面側のビュー
@foreach(var user in Model.Users)
{
@Html.Partial("_UserCard", user)
}
// 部分ビュー側
@model UserViewModel
<div class="card p-3 mb-2">
<p>名前:@Model.Name</p>
<p>居住地:@Model.City</p>
</div>
このような構成にすることで、画面の構造が整理され、 コード全体の見通しが良くなります。 ASP.NET MVCの部分ビューは、単なる便利機能ではなく、 正しい設計を支える重要な仕組みであることが分かります。
部分ビューを使いこなすことのメリット
部分ビューを理解し、正しく使えるようになると、 ASP.NET MVCでの画面開発が格段に楽になります。 デザイン変更への対応が早くなり、コードの重複が減り、 プロジェクト全体の品質も向上します。 初心者の段階から部分ビューを意識して設計することは、 将来的に大規模なWebアプリケーションを扱う際にも必ず役立ちます。
生徒
「部分ビューを使うと、同じ画面パーツを何度も書かなくていいんですね。 コードがすごくスッキリしました。」
先生
「その通りです。ASP.NET MVCでは、再利用を意識した設計がとても大切なんですよ。」
生徒
「モデルを渡せるのも便利ですね。 一覧表示やカード表示が簡単に作れる理由が分かりました。」
先生
「部分ビューとViewModelを組み合わせることで、 安全で読みやすいコードが書けるようになります。」
生徒
「これからは画面を作るときに、 まず部分ビューにできないか考えてみます。」
先生
「その考え方ができれば、ASP.NET MVCの理解は一段階レベルアップしていますよ。」