모델 추가(2012)

작성자 : Rick Anderson

참고

이 자습서의 업데이트된 버전은 ASP.NET MVC 5 및 Visual Studio 2013 사용하는 여기에서 사용할 수 있습니다. 더 안전하고 따라하기가 훨씬 더 간단하며 더 많은 기능을 보여 줍니다.

이 섹션에서는 데이터베이스에서 영화를 관리하기 위한 몇 가지 클래스를 추가합니다. 이러한 클래스는 ASP.NET MVC 애플리케이션의 "모델" 부분이 됩니다.

Entity Framework라는 .NET Framework 데이터 액세스 기술을 사용하여 이러한 모델 클래스를 정의하고 작업합니다. Entity Framework(EF라고도 함)는 Code First라는 개발 패러다임을 지원합니다. Code First를 사용하면 간단한 클래스를 작성하여 모델 개체를 만들 수 있습니다. (이러한 클래스는 "일반 오래된 CLR 개체"에서 POCO 클래스라고도 합니다.) 그런 다음 클래스에서 즉시 데이터베이스를 만들 수 있으므로 매우 클린 신속한 개발 워크플로를 사용할 수 있습니다.

모델 클래스 추가

솔루션 탐색기Models 폴더를 마우스 오른쪽 단추로 클릭하고 추가를 선택한 다음 클래스를 선택합니다.

솔루션 탐색기 창을 보여 주는 스크린샷 모델 마우스 오른쪽 단추 클릭 메뉴에서 추가가 선택되고 하위 메뉴에서 클래스가 선택됩니다.

클래스 이름 "Movie"를 입력합니다.

클래스에 다음 5개의 속성을 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 사용하여 데이터베이스의 영화를 나타냅니다. 개체의 각 instance 데이터베이스 테이블 내의 Movie 행에 해당하며 클래스의 각 속성은 테이블의 Movie 열에 매핑됩니다.

동일한 파일에서 다음 클래스를 추가합니다 MovieDBContext .

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

클래스는 MovieDBContext 데이터베이스의 클래스 인스턴스 가져오기, 저장 및 업데이트를 Movie 처리하는 Entity Framework 동영상 데이터베이스 컨텍스트를 나타냅니다. 는 MovieDBContext Entity Framework에서 DbContext 제공하는 기본 클래스에서 파생됩니다.

DbSet를 참조 DbContext 하려면 파일 맨 위에 다음 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 Server 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 영화 목록을 만들 수 있도록 하는 데 사용할 수 있는 새 클래스를 빌드합니다.