새 모델 추가

작성자: Rick Anderson

메모

이 자습서의 업데이트된 버전은 최신 버전의 Visual Studio를 사용하여 여기에서 사용할 수 있습니다. 새 자습서에서는 ASP.NET Core MVC를 사용하여 이 자습서를 통해 많은 개선 사항을 제공합니다.

이 자습서에서는 컨트롤러 및 뷰를 사용하여 ASP.NET Core MVC에 대해 설명합니다. Razor Pages는 웹 UI 빌드를 더 쉽고 생산성 있게 만드는 페이지 기반 프로그래밍 모델인 ASP.NET Core의 새로운 대안입니다. MVC 버전 전에 Razor Pages 자습서를 사용하는 것이 좋습니다. Razor Pages 자습서:

  • 따라하기 쉽습니다.
  • 더 많은 기능을 다룹니다.
  • 새 앱 개발을 위한 기본 접근 방식입니다.

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

Entity Framework라고 하는 .NET Framework 데이터 액세스 기술을 사용하여 이러한 모델 클래스를 정의하고 작업합니다. Entity Framework(EF라고도 함)는 Code First라는 개발 패러다임을 지원합니다. Code First를 사용하면 간단한 클래스를 작성하여 모델 개체를 만들 수 있습니다. ("일반 오래된 CLR 개체"에서 POCO 클래스라고도 합니다.) 그런 다음 클래스에서 즉시 데이터베이스를 만들 수 있으므로 매우 깨끗하고 빠른 개발 워크플로를 사용할 수 있습니다. 먼저 데이터베이스를 만들어야 하는 경우 이 자습서에 따라 MVC 및 EF 앱 개발에 대해 알아볼 수 있습니다. 그런 다음 데이터베이스 첫 번째 방법을 다루는 Tom Fizmakens ASP.NET 스캐폴딩 자습서를 따를 수 있습니다.

모델 클래스 추가

솔루션 탐색기에서 Models 폴더를 마우스 오른쪽 버튼으로 클릭한 후, 추가를 선택하고 클래스를 선택합니다.

솔루션 탐색기 창을 보여 주는 스크린샷. Models 폴더를 마우스 오른쪽 단추로 클릭하고 하위 메뉴 추가가 열립니다. 클래스가 선택되었습니다.

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

클래스 Movie에 다음 5개의 속성을 추가합니다.

using System;

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; }
    }
}

이 클래스를 Movie 사용하여 데이터베이스의 영화를 나타냅니다. 개체의 Movie 각 인스턴스는 데이터베이스 테이블 내의 행에 해당하며 클래스의 각 속성은 테이블의 Movie 열에 매핑됩니다.

참고: System.Data.Entity 및 관련 클래스를 사용하려면 Entity Framework NuGet 패키지를 설치해야 합니다. 자세한 지침은 링크를 따르세요.

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

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; }
    }
}

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

DbContextDbSet를 참조할 수 있도록, 파일 맨 위에 다음 using 문을 추가해야 합니다.

using System.Data.Entity;

using 문을 수동으로 추가할 수 있으며, 또는 빨간색 물결선 위에 마우스를 가져가 Show potential fixes을(를) 클릭하고 using System.Data.Entity;을(를) 클릭할 수 있습니다.

잠재적 수정 표시 메뉴를 보여 주는 스크린샷. 시스템 데이터 엔터티 사용이 선택되어 있으며 경고를 찾을 수 없습니다.

참고: 사용되지 않는 여러 using 문이 제거되었습니다. Visual Studio는 사용되지 않는 종속성을 회색으로 표시합니다. 회색 종속성을 마우스로 가리키고 Show potential fixes 제거를 클릭하여 사용하지 않는 종속성을 제거할 수 있습니다.

잠재적 수정 표시 메뉴를 보여 주는 스크린샷. 불필요한 사용 제거가 선택되었습니다.

마침내 모델(MVC의 M)을 추가했습니다. 다음 섹션에서는 데이터베이스 연결 문자열을 사용합니다.