다음을 통해 공유


새 모델 추가

작성자: Rick Anderson

참고

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

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

  • 자습서 내용을 좀 더 쉽게 진행할 수 있습니다.
  • 더 많은 기능을 다룹니다.
  • 새 앱 개발에 선호되는 방법입니다.

이 섹션에서는 데이터베이스에서 영화를 관리하기 위한 몇 가지 클래스를 추가합니다. 이러한 클래스는 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"를 입력합니다.

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

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 사용하여 데이터베이스의 영화를 나타냅니다. 개체의 각 instance 데이터베이스 테이블 내의 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 제공하는 기본 클래스에서 파생됩니다.

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

using System.Data.Entity;

using 문을 수동으로 추가하거나 빨간색 물결선 위로 마우스를 가져가서 클릭하고 Show potential fixes 클릭할 수 있습니다. using System.Data.Entity;

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

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

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

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