자습서: ASP.NET MVC를 사용하여 EF Database First용 웹 애플리케이션 및 데이터 모델 만들기
MVC, Entity Framework 및 ASP.NET 스캐폴딩을 사용하여 기존 데이터베이스에 대한 인터페이스를 제공하는 웹 애플리케이션을 만들 수 있습니다. 이 자습서 시리즈에서는 사용자가 데이터베이스 테이블에 있는 데이터를 표시, 편집, 생성 및 삭제할 수 있는 코드를 자동으로 생성하는 방법을 보여 줍니다. 생성된 코드는 데이터베이스 테이블의 열에 해당합니다.
이 자습서에서는 웹 애플리케이션을 만들고 데이터베이스 테이블을 기반으로 데이터 모델을 생성하는 데 중점을 둡니다.
이 자습서에서는 다음을 수행합니다.
- ASP.NET 웹앱 만들기
- 모델 생성
사전 요구 사항
ASP.NET 웹앱 만들기
새 솔루션 또는 데이터베이스 프로젝트와 동일한 솔루션에서 Visual Studio에서 새 프로젝트를 만들고 ASP.NET 웹 애플리케이션 템플릿을 선택합니다. 프로젝트 이름을 ContosoSite로 지정합니다.
확인을 클릭합니다.
새 ASP.NET 프로젝트 창에서 MVC 템플릿을 선택합니다. 나중에 클라우드에 애플리케이션을 배포하므로 지금은 클라우드의 호스트 옵션을 지울 수 있습니다. 확인을 클릭하여 애플리케이션을 만듭니다.
프로젝트는 기본 파일 및 폴더를 사용하여 만들어집니다.
이 자습서에서는 Entity Framework 6을 사용합니다. NuGet 패키지 관리 창을 통해 프로젝트에서 Entity Framework 버전을 두 번 검사 수 있습니다. 필요한 경우 Entity Framework 버전을 업데이트합니다.
모델 생성
이제 데이터베이스 테이블에서 Entity Framework 모델을 만듭니다. 이러한 모델은 데이터 작업에 사용할 클래스입니다. 각 모델은 데이터베이스의 테이블을 미러링하고 테이블의 열에 해당하는 속성을 포함합니다.
Models 폴더를 마우스 오른쪽 단추로 클릭하고 추가 및 새 항목을 선택합니다.
새 항목 추가 창의 왼쪽 창에서 데이터를 선택하고 가운데 창의 옵션에서 엔터티 데이터 모델을 ADO.NET . 새 모델 파일의 이름을 ContosoModel로 지정합니다.
추가를 클릭합니다.
엔터티 데이터 모델 마법사에서 데이터베이스에서 EF Designer 선택합니다.
다음을 클릭합니다.
개발 환경 내에서 데이터베이스 연결 정의된 경우 이러한 연결 중 하나가 미리 선택된 것을 볼 수 있습니다. 그러나 이 자습서의 첫 번째 부분에서 만든 데이터베이스에 대한 새 연결을 만들려고 합니다. 새 연결 단추를 클릭합니다.
연결 속성 창 데이터베이스가 만들어진 로컬 서버의 이름을 제공합니다(이 경우 (localdb)\ProjectsV13). 서버 이름을 제공한 후 사용 가능한 데이터베이스에서 ContosoUniversityData를 선택합니다.
확인을 클릭합니다.
이제 올바른 연결 속성이 표시됩니다. Web.Config 파일에서 연결에 기본 이름을 사용할 수 있습니다.
다음을 클릭합니다.
최신 버전의 Entity Framework를 선택합니다.
다음을 클릭합니다.
테이블을 선택하여 세 테이블 모두에 대한 모델을 생성합니다.
Finish를 클릭합니다.
보안 경고가 표시되면 확인을 선택하여 템플릿을 계속 실행합니다.
모델은 데이터베이스 테이블에서 생성되며 테이블 간의 속성과 관계를 보여 주는 다이어그램이 표시됩니다.
이제 Models 폴더에는 데이터베이스에서 생성된 모델과 관련된 많은 새 파일이 포함됩니다.
ContosoModel.Context.cs 파일에는 DbContext 클래스에서 파생되는 클래스가 포함되어 있으며 데이터베이스 테이블에 해당하는 각 모델 클래스에 대한 속성을 제공합니다. Course.cs, Enrollment.cs 및 Student.cs 파일에는 데이터베이스 테이블을 나타내는 모델 클래스가 포함되어 있습니다. 스캐폴딩을 사용할 때 컨텍스트 클래스와 모델 클래스를 모두 사용합니다.
이 자습서를 진행하기 전에 프로젝트를 빌드합니다. 다음 섹션에서는 데이터 모델을 기반으로 코드를 생성하지만 프로젝트가 빌드되지 않은 경우 해당 섹션이 작동하지 않습니다.
다음 단계
이 자습서에서는 다음을 수행합니다.
- ASP.NET 웹앱 생성
- 모델 생성
다음 자습서로 이동하여 데이터 모델을 기반으로 코드를 생성하는 방법을 알아봅니다.