파트 4: 모델 추가하기

등록일시: 2012-06-13 09:48,  수정일시: 2013-09-13 17:26
조회수: 3,999
이 문서는 ASP.NET MVC 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.

먼저, Solution Explorer에서 Models 폴더를 마우스 오른쪽 버튼으로 클릭한 다음, Add > New Item을 선택합니다.

그러면, Add New Item 대화 상자가 나타나는데, 좌측 트리뷰에서 Code를 클릭한 다음, Class를 선택하고 이 클래스의 이름을 "Movie"로 지정합니다.

CreateMovieClass

만들어진 Movie 클래스에 다음과 같이 다섯 개의 속성들을 추가합니다:

public class Movie 
{ 
    public int ID { get; set; } 
    public string Title { get; set; } 
    public DateTime ReleaseDate { get; set; } 
    public string Genre { get; set; } 
    public decimal Price { get; set; } 
}

Movie 클래스는 데이터베이스의 영화 정보를 나타내기 위해서 사용됩니다. 각각의 Movie 개체 인스턴스는 데이터베이스 테이블의 로우에 해당하고, Movie 클래스의 각 속성들은 테이블의 컬럼과 맵핑됩니다.

동일한 파일에, 다음과 같이 MovieDBContext 클래스를 추가합니다:

public class MovieDBContext : DbContext { 
    public DbSet<Movie> Movies { get; set; } 
}

MovieDBContext 클래스는 데이터베이스에서 Movie 클래스의 인스턴스를 가져오고, 저장하고, 갱신하는 작업을 처리하는 Entity Framework 영화 데이터베이스 컨텍스트의 역할을 수행합니다. 이 MovieDBContext 클래스는 Entity Framework로부터 제공되는 DbContext 기본 클래스를 상속받습니다. DbContextDbSet에 관한 보다 자세한 정보는 Productivity Improvements for the Entity Framework를 참고하시기 바랍니다.

DbContextDbSet을 참조하려면, 파일 상단에 다음과 같은 using 문을 추가해야 합니다:

using System.Data.Entity;

모든 작업이 마무리된 완전한 Movie.cs 파일은 다음과 같습니다. (불필요한 몇 가지 using 문은 제거되었습니다.)

using System;
using System.Data.Entity;

namespace MvcMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }        
        public DateTime ReleaseDate { get; set; }        
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }

    public class MovieDBContext : DbContext
    {
        public DbSet<Movie> Movies { get; set; }
    }
}

연결 문자열 생성하기 및 SQL 서버 LocalDB 작업하기

방금 작성한 MovieDBContext 클래스는 데이터베이스 연결 작업과 Movie 개체와 데이터베이스 레코드 간의 맵핑 작업을 처리합니다. 그렇다면 이제 아마 여러분은 연결할 데이터베이스를 지정하는 방법이 궁금할 것입니다. 응용 프로그램의 Web.config 파일에 연결 정보를 추가해보겠습니다.

응용 프로그램의 루트에 위치한 Web.config 파일을 엽니다. (Views 폴더에 있는 Web.config 파일이 아닙니다.) 다음 그림에서 빨간색으로 표시된 Web.config 파일을 열어야 합니다.

Web.config 파일의 <connectionStrings> 요소에 다음의 연결 문자열을 추가합니다.

<add name="MovieDBContext" 
   connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
   providerName="System.Data.SqlClient" 
/>

다음 예제는 새로운 연결 문자열이 추가된 Web.config 파일의 일부를 보여주고 있습니다:

<connectionStrings>
  <add name="DefaultConnection" 
       connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true" 
       providerName="System.Data.SqlClient" 
  />    
  <add name="MovieDBContext" 
    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
    providerName="System.Data.SqlClient" 
  />
</connectionStrings>

지금까지 살펴본 얼마 안되는 코드와 XML이 데이터베이스에 존재하는 영화 데이터를 나타내거나 저장하기 위해서 작성해야 할 코드의 전부입니다.

다음 단계에서는, 영화 데이터를 출력하는데 사용되고, 사용자들이 새로운 영화 정보를 생성할 수 있게 해주는, 새로운 MoviesController 클래스를 작성해 보겠습니다.