링크에서 자습서를 포함한 MVC 하위 메뉴들을 살펴보세요.
(ASP.NET Core MVC 개요 | Microsoft Learn)
왼쪽 메뉴에 자습서와 각 항목에서 아래 내용을 살펴보세요.
컨트롤러의 메서드를 Action이라고 합니다. 라우팅은 컨트롤러의 액션과 URL이 관련돼있습니다.
View는 컨트롤러 액션에서 모델과 함께 반환되며 ASP.NET의 MVC는 Razor라는 템플릿 엔진을 사용해서 뷰를 구현합니다. 컨트롤러에서 반환되는 모델을 사용하는 방법이 포함되어 있습니다. 부분 뷰와 함께 살펴보세요.
Layout 은 공통으로 사용되는 틀인데 js, css를 설정하는 부분도 나옵니다. jQuery, Bootstrap 사용하는 부분을 확인해보세요.
@RenderBody에 Layout을 사용하는 뷰 내용이 배치됩니다.
@RenderSection 으로 스크립트를 추가할 섹션을 정하고 뷰에서 @section Scripts 안에 스크립트와 부분 뷰를 추가하는 설명이 나옵니다. 뷰 쪽 페이지는 여기 설명이 잘 되어 있네요.(https://www.c-sharpcorner.com/article/ajax-in-net-core/)
추가로 다음 링크에서 뷰를 컴포넌트로 만들어서 재사용하는 고급 기술도 살펴보세요(ASP.NET Core의 보기 구성 요소 | Microsoft Learn)
모델의 경우 예제 코드에서는 Entity Framework Core(ORM)을 사용해 관계형 디비와 객체 매핑과 마이그레이션, 디비 사용을 하고 있습니다. 웹 MVC는 루비 온 레일즈의 영향을 받았는데 여기에 액티브 레코드가 이렇게 사용했습니다.
저는 MVC 모델과 디비 모델을 분리하는 것을 좋아합니다. 별도의 class 로 정의해서 View 에서 사용할 모델을 정의하고 디비에서 가져온 값을 변환해서 뷰에서 사용하죠.
자습서의 데이터베이스 작업 부분을 보면 EF Core에 대한 설명이 추가로 더 나옵니다.
기존의 데이터베이스가 어떻게 되어있는지 모르겠지만 아마 계속 사용하시겠죠?
리버스 엔지니어링이라고 디비 스키마를 이용해 모델을 생성할 수 있습니다.
(리버스 엔지니어링 - EF Core | Microsoft Learn)
마이그레이션 작업은 연습용 디비와 개발용 디비에서만 사용하는 것이 좋습니다.
EF Core가 조금 부담되실 수 있는데 기존 디비를 그대로 사용하신다면 데이터 접근은 Dapper 를 사용하시는 것도 방법입니다.(GitHub - DapperLib/Dapper: Dapper - a simple object mapper for .Net) 데이터베이스 규모가 크다면 EF에 시간을 투자해보세요.
C# 구문을 활용할 수 있는 Razor 템플릿은 좋은 선택이지만 사내 프로그램이 꼭 서버에서 렌더링해야 할 필요가 없을 때, SEO 가 필요하지 않을 때, SPA로 클라이언트 앱을 구성해도 되는 경우에는 클라이언트 쪽 개발 - 단일 페이지 앱에서 선택하시는 것도 추천합니다. ASP.NET으로 Web API 까지만 구성하면 서버 쪽이 더 간단해집니다. 최신 프론트엔드 프레임워크에 익숙하지 않고 앵귤러 1.x 버전에 익숙하시면 Vue 쪽을, 시간적 여유가 되고 프론트엔드를 좀 더 다뤄보고 싶으시면 더 많이 사용되는 React를 추천합니다.
(React를 사용하여 ASP.NET Core 앱 만들기 - Visual Studio (Windows) | Microsoft Learn)
(Vue를 사용하여 ASP.NET Core 앱 만들기 - Visual Studio (Windows) | Microsoft Learn)