데이터베이스 데이터 테이블 출력하기

HTML Table에 데이터베이스 레코드를 구성하는 2개의 Method를 보자

 

Database 만들기

프로젝트에 App_Data폴더 오른쪽 버튼을 클릭하여 추가에 새 항목을 선택하면 다음과 같은 화면이 나온다.

 

 데이터 -> SQL Server 데이터베이스 선택 후 이름은 Movies.mdf 로 한 후 추가 버튼을 클릭한다.

 

 

Model Class 만들기

Movies 데이터베이스 테이블의 레코드 구성을 보여주는 것부터 출발한다. Movies 데이터베이스 테이블은 다음과 같은 컬럼으로 구성되어 있다.

 

Table : tblMovie

Column Name

Data Type

Allow Nulls

Id

Int

False

Title

Nvarchar(200)

False

Director

NVarchar(50)

False

DateReleased

DateTime

False

 

Movies 데이터베이스 테이블 나타내는 순서로는 LINQ to SQL 데이터 접근 기술을 사용할 것이다.

다른 단어로는 MVC model classes by using LINQ to SQL

 

프로젝트에 보면 Models폴더가 있는데 Models폴더 오른쪽 버튼을 클릭하여 추가에 새 항목을 선택하면 다음과 같은 화면이 나온다.

데이터 -> LINQ to SQL 클래스 선택 후 이름은 Movie.dbml로 한 후 추가버튼을 클릭한다.

 

 

서버탐색기에서 만든 테이블을 Movie.dbml에 끌어다 놓으면 다음과 같이 출력된다.

 (테이블의 컬럼은 알아서 만들어 보자 )

여기까지 데이터베이스 생성 및 Models LINQ to SQL 파일 생성이 모두 완료되었다.

 

 

Controller Action LINQ to SQL 사용하기

Controller에서 LINQ to SQL을 사용하려면

Using System.Linq; Using 프로젝트명.Models; 를 선언해야 한다.

 

using System.Linq; // 추가

using System.Web.Mvc;

using MvcMyApplication3.Models; //추가

 

namespace MvcMyApplication3.Controllers

{

    [HandleError]

    public class HomeController : Controller

    {

        public ActionResult Index()

        {

            // 사용할 ModelsLINQ to SQL Class

            var dataContext = new MovieDataContext();  

            var movies = from m in dataContext.tblMovie // 테이블명

                         select m;

            return View(movies);

        }

    }

}

 

View에 데이터 출력하기

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<%@ Import! Namespace="MvcMyApplication3.Models" %>

 

<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">

    Home Page

</asp:Content>

 

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">

 

<table>

<tr>

     <th>Id</th><th>Title</th><th>Release Date</th>

</tr>

<% foreach (tblMovie m in (IEnumerable)ViewData.Model)

{ %>

<tr>

     <td><%= m.id %></td>

     <td><%= Html.Encode(m.Title) %></td>

     <td><%= m.DateReleased %></td>

</tr>

<% } %>

</table>

 

</asp:Content>

 

 여기까지 View page에 데이터 출력하는 것이 완료 되었다.

+ Recent posts