본문 바로가기
.Net-ASP.NET

모델 우선 접근 방식을 사용하여 ASP.NET MVC 5 응용 프로그램 만들기 [자세한 가이드]

by 코딩하는 욤욤이 2024. 1. 23.
반응형

ASP.NET

많은 ASP.NET 개발자는 데이터 액세스를 위한 코드를 작성하고 관리하는 것이 단조로운 작업이라고 생각합니다. 하지만 좋은 소식이 있습니다. Microsoft는 앱의 모든 데이터베이스 관련 활동을 자동으로 처리하는 데 도움이 되는 Entity Framework라는 O/RM 프레임워크를 제공하므로 데이터 액세스 배관 코드를 작성할 필요가 없습니다.

 

본질적으로 Entity Framework는 ASP.NET 앱을 더 쉽게 유지 관리하는 데 도움이 됩니다. Entity Framework는 ASP.NET 응용 프로그램을 데이터베이스에 연결하는 데 도움이 되는 세 가지 접근 방식을 제공합니다. 이 세 가지 접근 방식은 다음과 같습니다.


모델 우선

데이터베이스 우선


코드 우선 

이 포스팅에서는 Entity Framework 모델 우선 접근 방식에 대해 설명하고, 이 접근 방식을 더 잘 이해할 수 있도록 모델 우선 접근 방식을 사용하여 샘플 ASP.NET MVC 응용 프로그램도 만들겠습니다.

하지만 그 전에 먼저 최신 6.1 버전의 Entity Framework에 대한 개요를 살펴보겠습니다. 

 Entity Framework 6에 대한 간략한 소개 


EF6(Entity Framework 6)에는 해당 접근 방식에 대한 많은 새로운 흥미로운 기능이 도입되었습니다. 최신 EF 6 버전은 .NET Framework 4(이상) 및 Visual Studio 2010 이상을 사용하는 프로젝트에서 잘 작동합니다. Entity Framework 6의 몇 가지 중요한 기능을 살펴보겠습니다.

종속성 해결 


연결 복원력


데이터베이스당 다중 컨텍스트


코드 기반 구성


저장 프로시저 삽입/업데이트/삭제 등을 위한 Code First 매핑.


이 포스팅에서는 Visual Studio 2013에서 작업하겠습니다.

Model First Approach의 도움으로 MVC 5 애플리케이션을 생성하려면 다음 섹션 중 하나를 수행해야 합니다.

웹 애플리케이션 생성


엔터티 데이터 모델 추가


엔터티 데이터 모델 디자이너 작업

컨트롤러 및 뷰 작업


CRUD 작업 수행

데이터베이스 작업 
 
웹 애플리케이션 생성

여기서는 MVC 프로젝트 템플릿을 사용하여 ASP.NET 웹 애플리케이션을 만드는 과정을 알아보는 예를 들어보겠습니다. 계속 진행하려면 아래에 언급된 단계를 따르세요.

1단계: Visual Studio 2013을 열고 새 프로젝트를 클릭합니다.

2단계: 창 왼쪽에서 웹 탭을 클릭한 다음 ASP.NET 웹 애플리케이션을 선택하고 애플리케이션 이름을

"ModelFirstApproach"로 지정합니다.


3단계: 아래 스크린샷에 표시된 대로 MVC 프로젝트 템플릿을 선택하고 확인 버튼을 클릭해야 합니다.


Visual Studio는 MVC 애플리케이션을 자동으로 생성하고 프로젝트에 여러 파일과 폴더를 추가합니다. 솔루션 탐색기에서 해당 파일과 폴더를 모두 확인할 수 있습니다.

엔터티 데이터 모델 추가
이 섹션에서는 이름에서 알 수 있듯이 엔터티 데이터 모델(예: ADO.NET)을 응용 프로그램에 추가합니다. 이를 위해 먼저 아래 절차에 따라 빈 모델을 생성합니다. 

1단계: 솔루션 탐색기에서 Models 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 해당 추가 옵션을 클릭합니다. 추가 창에서 ADO.NET 엔터티 데이터 모델을 클릭합니다.


2단계: 이 단계에서는 모델 이름을 정의하고 확인을 클릭해야 합니다. 이 예에서는 모델 이름을 "ModelFirstModel"로 지정했습니다.


3단계: 다음으로 엔터티 데이터 모델 마법사에서 빈 모델 옵션을 클릭하고 “마침” 버튼을 누르세요.


위 단계를 따르면 엔터티 데이터 모델 디자이너(예: ModelFirstModel.edmx)를 볼 수 있습니다.

엔터티 데이터 모델 디자이너 작업
여기에서는 아래 나열된 두 섹션을 사용하여 새로 생성된 엔터티 데이터 모델 디자이너에 엔터티를 추가합니다.

1. 엔터티 모델 추가

이 섹션에서는 아래 주어진 절차에 따라 엔터티 모델을 생성합니다.

1단계: 엔터티 데이터 모델 디자이너를 마우스 오른쪽 단추로 클릭하고 새로 추가>>엔터티를 클릭합니다. 이는 다음과 같이 새 엔터티를 추가하는 데 도움이 됩니다.


2단계: 이제 "엔티티 추가" 마법사에서 엔터티 이름을 지정합니다.


참고: Books를 엔터티 이름으로 지정했지만 요구 사항에 따라 변경할 수 있습니다. 

3단계: 엔터티 생성을 완료한 후에는 엔터티에 스칼라 속성을 추가해야 합니다. 그렇게 하려면 엔터티를 마우스 오른쪽 버튼으로 클릭하고 새로 추가>>스칼라 속성을 클릭합니다.

이제 속성 이름을 변경하겠습니다. 


4단계: 엔터티에 더 많은 스칼라 속성(예: Books)을 추가하도록 선택할 수 있습니다.


참고: 데이터 모델 디자이너에서 요구 사항에 따라 더 많은 엔터티 모델을 만들 수 있습니다. 

2. 모델에서 데이터베이스 생성 엔터티 모델을 생성한 후에는 모델에서 데이터베이스를 생성할 차례입니다. 이를 위해 아래 언급된 단계를 따르십시오. 

1단계: 데이터 모델 디자이너 공간을 마우스 오른쪽 버튼으로 클릭하고 "모델에서 데이터베이스 생성" 옵션을 클릭합니다.

 

2단계: 데이터베이스 생성 마법사가 열리면 "새 연결"을 클릭하여 데이터베이스와의 연결을 설정합니다.


 3단계: 연결 속성 마법사가 열리면 서버와 데이터베이스에 이름을 할당해야 합니다.


그런 다음 "연결 테스트"를 클릭하여 연결이 설정되었는지 확인하십시오. 


4단계: 데이터베이스 생성 마법사에서 볼 수 있듯이 데이터베이스와의 연결이 생성됩니다. 그런 다음 다음 버튼을 클릭하십시오.


5단계: 이 단계에서는 데이터베이스 요약 및 스크립트가 생성됩니다. 그런 다음 "마침"버튼을 클릭하십시오.


6단계: 그런 다음 생성 중인 스크립트를 마우스 오른쪽 버튼으로 클릭하고 실행을 클릭합니다. 


실행을 클릭하면 아래와 같이 서버 탐색기에서 볼 수 있는 데이터베이스가 생성됩니다.


컨트롤러 및 뷰 작업
지금까지 우리는 데이터베이스를 다루었습니다. 지금까지 우리는 데이터베이스 작업을 완료했습니다. 이제 MVC 5의 뷰와 컨트롤러를 사용하여 작업하겠습니다. 먼저 Entity Framework를 사용하여 다음 절차에 따라 MVC5 컨트롤러를 추가합니다.

1단계: Models 폴더에서 모델 클래스를 찾으려면 솔루션을 빌드해야 합니다. Books 클래스는 모델 폴더(예: ModelFirstModel.edmx)에 생성됩니다. 아래 스크린샷에 표시된 것처럼 강조 표시된 코드로 코드를 편집하기만 하면 됩니다.


2단계: 솔루션 탐색기 창에서 컨트롤러를 마우스 오른쪽 버튼으로 클릭하고 추가>>새 스캐폴드 항목을 클릭합니다.


3단계: 이제 스캐폴드 추가 마법사가 열립니다. 이 마법사에서 "Entity Framework를 사용하여 보기가 있는 MVC 5 컨트롤러" 옵션을 선택합니다.


 4단계: 이제 컨트롤러 추가 마법사에서 다음 필드를 지정합니다.

컨트롤러 이름 


모델 클래스 


데이터 컨텍스트 클래스 


그런 다음 추가를 클릭하십시오.


추가 버튼을 클릭하면 BooksController 클래스가 Controllers 폴더 내에 생성됩니다. 또한 아래 스크린샷에 강조 표시된 대로 Books 폴더가 Views 폴더 내에 생성됩니다.

 


CRUD 작업 수행
여기서는 다음 절차를 사용하여 CRUD 작업(생성, 읽기, 업데이트 및 삭제)을 수행합니다.

1. 처음에는 뷰에 대한 "액션 링크"를 생성할 것입니다. 이를 위해 Views>>Shared>>_Layout.cshtml 파일로 이동하여 다음 코드로 코드를 편집합니다.

<html>
<head>
 
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>@ViewBag.Title-Books App</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
 
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<buttontype="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.ActionLink("Best Books", "Index", "Home", null, new{@class="navbar-brand"})
</div>
<div class="navbar-collapse collapse">
 
<ul class="nav navbar-nav">
 
<li>@Html.ActionLink("Home", "Index", "Home")</li>
 
<li>@Html.ActionLink("About", "About", Home")</li>
 
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
 
<li>@Html.ActionLink("Books", "Index", "Book")</li>
 
</ul>
@Html.Partial("_LoginPartial")
</div>
</div>
</div>
<div class="container body-content">
@RenderBody()
<hr/>
<footer>
<p>©@DateTime.Now.Year -My Books Application</p>
</footer>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
 
</body>
</html>


이 코드에서는 작업 링크를 만들었습니다. 또한 앱 이름과 제목을 편집했습니다. 

2. 이제 CRUD 작업을 수행하겠습니다.

2.1 생성:
이 특정 섹션에서는 생성 작업에 대해 작업합니다.

1단계: 먼저 우리가 만든 애플리케이션을 실행하겠습니다. 애플리케이션 홈 페이지에서 Books(도서)를 클릭합니다.

2단계: 탐색 탭에서 도서를 클릭하면 창이 열립니다(아래 그림 참조). 이 창에서는 Books 애플리케이션에 대한 레코드를 생성하기 위해 “새로 만들기” 링크를 클릭합니다.

3단계: 다음 창에서 모든 필드를 채우고(아래 표시된 대로) 만들기를 클릭합니다.

동일한 절차를 사용하여 원하는 만큼 레코드를 추가할 수 있습니다. 레코드가 생성되면 레코드에 대해 두 가지 작업을 수행할 수 있습니다.

2.2 읽기:
도서 링크를 클릭하면 해당 기록을 읽을 수 있습니다. 

2.3 업데이트:
아래 언급된 단계에 따라 해당 기록을 업데이트할 수 있습니다.

1단계: 편집하려는 기록을 열고 편집 링크를 클릭합니다. 

2단계: 이제 기록을 편집하고 '저장' 버튼을 누르세요.

3. 삭제:
삭제 링크를 클릭하여 생성한 기록을 삭제할 수도 있습니다. 


 데이터베이스 작업
이제 모든 테이블과 레코드가 데이터베이스에서 업데이트됩니다. 서버 탐색기를 사용하여 이를 보려면 다음 단계를 따르십시오. 

1단계: 서버 탐색기에서 모델 폴더를 클릭합니다. 그런 다음 Tables 폴더를 마우스 오른쪽 버튼으로 클릭하고 Books>> Show Table Data를 클릭합니다.

2단계: 이제 모든 기록이 화면에 표시됩니다.

 

이 포스팅을 통해 EF 모델 우선 접근 방식을 사용하여 ASP.NET MVC 5 애플리케이션을 만드는 방법을 배우는 데 도움이 되기를 바랍니다. 

반응형