다음을 통해 공유


모델 추가(C#)

작성자: Rick Anderson

이 자습서에서는 Microsoft Visual Studio의 무료 버전인 Microsoft Visual Web Developer 2010 Express Service Pack 1을 사용하여 ASP.NET MVC 웹 애플리케이션을 빌드하는 기본 사항을 설명합니다. 시작하기 전에 아래에 나열된 필수 구성 요소를 설치했는지 확인합니다. 웹 플랫폼 설치 관리자 링크를 클릭하여 모두 설치할 수 있습니다. 또는 다음 링크를 사용하여 필수 구성 요소를 개별적으로 설치할 수 있습니다.

Visual Web Developer 2010 대신 Visual Studio 2010을 사용하는 경우 Visual Studio 2010 필수 구성 요소 링크를 클릭하여 필수 구성 요소를 설치합니다.

C# 소스 코드가 포함된 Visual Web Developer 프로젝트는 이 항목과 함께 사용할 수 있습니다. C# 버전을 다운로드합니다. Visual Basic을 선호하는 경우 이 자습서의 Visual Basic 버전으로 전환합니다.

모델 추가

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

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

모델 클래스 추가

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

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

클래스 이름을 "Movie"로 지정합니다.

CreateMovieClass

클래스에 다음 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 제공하는 기본 클래스에서 파생됩니다. 및 에 대한 DbContext 자세한 내용은 Entity Framework의 생산성 향상을 참조하세요.DbSet

DbSet를 참조 DbContext 하려면 파일 맨 위에 다음 using 문을 추가해야 합니다.

using System.Data.Entity;

전체 Movie.cs 파일은 아래에 나와 있습니다.

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 Compact 작업

만든 클래스는 MovieDBContext 데이터베이스에 연결하고 개체를 데이터베이스 레코드에 매핑 Movie 하는 작업을 처리합니다. 하지만 질문할 수 있는 한 가지 질문은 연결할 데이터베이스를 지정하는 방법입니다. 애플리케이션의 Web.config 파일에 연결 정보를 추가하여 이 작업을 수행합니다.

애플리케이션 루트 Web.config 파일을 엽니다. (Views 폴더의 Web.config 파일이 아닙니다.) 아래 이미지는 두Web.config 파일을 보여 주세요. 빨간색 원을 그리는Web.config 파일을 엽니다.

솔루션 탐색기 창을 보여 주는 스크린샷 웹 점 구성은 빨간색으로 동그라미를 찍습니다.

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

<add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>

다음 예제에서는 새 연결 문자열이 추가된 Web.config 파일의 일부를 보여줍니다.

<configuration>
  <connectionStrings>
    <add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

이 소량의 코드와 XML은 동영상 데이터를 데이터베이스에 나타내고 저장하기 위해 작성해야 하는 모든 것입니다.

다음으로, 영화 데이터를 표시하고 사용자가 새 MoviesController 영화 목록을 만들 수 있도록 하는 데 사용할 수 있는 새 클래스를 빌드합니다.