介紹透過 Entity Framework 讀取資料庫內容,說明整個 Model & View 如何直接對現在 DB Table 做欄位 ORM (Object Relational Mapping),範例中抓取資料庫欄位 MrkId(股票代號)、StkName(股票代號)後,顯示於網頁畫面。
Step 1. 在專案 Models 中建立資料庫 .edmx
Step 2. Controller 中這裡為使用 HomeController.cs => Index Action加入:
public class HomeController : Controller
{
public ActionResult Index()
{
List<Models.TS_StockTickData> result = new List<Models.TS_StockTickData>();
using (Models.TSDATAEntities2 tse = new Models.TSDATAEntities2())
result = (from s in tse.TS_StockTickData select s).ToList(); // 將所有抓到的 Row 內容寫入到 List( ) 中回傳給 View
return View(result);
}
}
Step 3. View 中的 Index.cshtml 加入:
@model IEnumerable<MVCApplication1.Models.TS_StockDataTemp>
<table>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.MrkId) // 取出股票代號
</td>
<td>
@Html.DisplayFor(modelItem => item.StkName) // 取出股票名稱
</td>
</tr>
}
</table>
Step 1. 在專案 Models 中建立資料庫 .edmx
選擇ADO.NET實體資料模型 |
選擇第一個 EF(也就是 Entility Framework) |
決定資料庫連線及在 Web.Config 中是否加入ConnectionString 名稱 |
選擇所要對應到的資料庫 Table |
從方案總管中就可以看到完成的 edmx |
public class HomeController : Controller
{
public ActionResult Index()
{
List<Models.TS_StockTickData> result = new List<Models.TS_StockTickData>();
using (Models.TSDATAEntities2 tse = new Models.TSDATAEntities2())
result = (from s in tse.TS_StockTickData select s).ToList(); // 將所有抓到的 Row 內容寫入到 List( ) 中回傳給 View
return View(result);
}
}
Step 3. View 中的 Index.cshtml 加入:
@model IEnumerable<MVCApplication1.Models.TS_StockDataTemp>
<table>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.MrkId) // 取出股票代號
</td>
<td>
@Html.DisplayFor(modelItem => item.StkName) // 取出股票名稱
</td>
</tr>
}
</table>
畫面結果如上右半部 |
留言
張貼留言