可以先參考 << 極意之道次世代 .NET Framework 3.5資料庫開發聖典ASP.NET篇,黃忠成,2008 >> 這本書,書內詳細說明 Linq To Sql 在 Visual Studio 2008 如何開始使用、語法、結合、....等等,有興趣的鄉民大可去參考這本書,這裡就不另贅述。
這裡是使用微軟的範例資料庫: northwind (北風)。
說著說著,我就已經弄好 Linq To Sql 類別,我抓了三個資料表,分別是 Products、Orders、Order_Details。
以下實作方法參考:初學ASP.NET MVC 學習筆記(六)-包裝Model
首先,我只要顯示出 Products 資料表內的資料,先建立一個資料夾在根目錄,我命名為 MyData,底下增一個類別為 Products.cs 檔案,大概內容為:
using MvcTest.Models; // 必要加入參考 namespace MvcTest.MyData { public class Products { public IQueryable<Models.Products> _Products { get; set; } } }接著在 Controllers\HomeController.cs 程式碼中加入一些語法,因為是在 Index 顯示,所以在 Index 類別動點手腳:
using MvcTest.Models; using MvcTest.MyData; namespace MvcTest.Controllers { [HandleError] public class HomeController : Controller { private NorthwindDataContext db = new NorthwindDataContext(); private MyData.Products p = new MyData.Products(); public HomeController() { ... } public ActionResult Index() { p.Products = from d in db.Products select d; return View(p); } ...... } }我特別在類別上註記它來自於哪一個資料夾中,目的是怕命名的名稱會與 Linq To Sql 類別名稱相同,所以特此註記。
最後在 Index.aspx 程式碼中,可以是用類似 C# 程是語言的方式將 Products 的資料條列出來:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcTest.MyData.Products>" %> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <table> <% foreach (var item in Model._Products) { %> <tr> <td> <%= Html.Encode(item.ProductID) %> </td> <td> <%= Html.Encode(item.ProductName) %> </td> </tr> <% } %> </table> </asp:Content>
最後執行頁面如下:
回目錄
回首頁
沒有留言 :
張貼留言