許多初學者在接觸 ASP.NET MVC 4 時,最常見的問題就是如何將 SQL Server 資料庫的資料顯示在視圖中。本文將以一個具體範例,詳細說明從資料庫建立、模型建立、資料存取到視圖呈現的完整流程。
假設我們已經在 SQL Server 中建立了一個名為 A 的資料庫,其中包含一張名為 AB 的資料表,並已填入一些測試資料。接著在 Visual Studio 解決方案中,我們需要建立對應的模型類別與資料庫上下文。
在 Models 資料夾下新增一個名為 AB.cs 的類別檔案,定義屬性對應資料表欄位:
public class AB
{
public int Id { get; set; }
public string Name { get; set; }
// 其他欄位...
}
新增 ABEntities.cs,繼承 DbContext 並設定連線字串:
public class ABEntities : DbContext
{
public ABEntities() : base("name=DefaultConnection") { }
public DbSet<AB> ABs { get; set; }
}
記得在 Web.config 中設定正確的連線字串 DefaultConnection,指向資料庫 A。
右鍵 Controllers 資料夾 → 新增 → 控制器,選擇「使用 Entity Framework 的 MVC 5 控制器」,模型類別選 AB,資料內容類別選 ABEntities。Visual Studio 會自動產生 CRUD 完整程式碼,包含 Index 動作方法:
public ActionResult Index()
{
return View(db.ABs.ToList());
}
在 Index 方法上右鍵 → 新增檢視,範本選「List」,模型類別選 AB。產生的 Index.cshtml 會自動包含表格顯示所有資料:
@model IEnumerable<YourNamespace.Models.AB>
<table class="table">
<tr>
<th>@Html.DisplayNameFor(model => model.Name)</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>@Html.DisplayFor(modelItem => item.Name)</td>
</tr>
}
</table>
System.Data.SqlClientmodelBuilder.Entity<AB>().ToTable("AB")透過 Entity Framework Code First 或 Database First 方式,ASP.NET MVC 4 可以快速實現資料庫連線與資料顯示。關鍵在於正確設定連線字串、模型對應與控制器邏輯。建議初學者先從 Database First 入手,理解完整流程後再嘗試 Code First 開發模式。