Visual Studio 2017에서 "NuGet 패키지 관리"를 통해 패키지를 설치할 때,


Microsoft.EntityFrameworkCore.Tools 항목을 살펴보면 아래와 같은 설명이 있습니다.


Entity Framework Core Package Manager Console Tools.

Includes Scaffold-DbContext, Add-Migration, and Update-Database.


여기에서 "Scaffold-DbContext"가 Entity Framework Core 패키지 관리자 콘솔 도구에 포함된다고 나옵니다.


Entity Framework Core에서 Database 구성 전에 미리 테이블 및 컬럼 구조를 잡기 위해 C# 코드로 작성하는 방법이 있습니다.


바로 Code-first인데요.


전통적으로 Database를 먼저 구성하고 나서 Application 소스코드와 연결시켜 사용하기 때문에 DB-first라고 여겨지는 것에 대비해서


Application 소스코드에서 Database 관련내용을 모두 구성해 놓고 마지막에 Database에 적용하는 방식을 Code-first라고 합니다.


물론 Entity Framework에서도 DB-first 방식 사용이 가능합니다.


Entity Framework Core 패키지 관리자 콘솔 도구에는 "Add-Migration"과 "Update-Database"가 포함되어 있어서 Code-first를 할 수 있습니다.


"Add-Migration"은 C#으로 미리 세팅한 코드를 통해 Database 구조를 잡기 위해, 최종 DB적용 생성본을 만들 때 사용됩니다.


"Update-Database"는 최종 적용 생성본을 Database에 적용시킬 때 사용됩니다.


"Scaffold-DbContext"는 연결 문자열을 통해 Database에 접속할 수 있도록 합니다.


또한 DataAnnotations와 fluent API를 사용하여 Database 구성이 가능하도록 합니다.



윗 그림은 "https://docs.microsoft.com/ko-kr/ef/core/miscellaneous/cli/powershell"의 일부 내용을 캡처한 것입니다.


Scaffold 단어의 직접적인 의미를 알기보다 "Scaffold-DbContext"라 하여 Database와 연동작업을 지원한다는 정도로 알면 크게 무리가 없을 듯 합니다.



'.NET CORE 2.0' 카테고리의 다른 글

Scaffold-DbContext  (0) 2018.02.06

+ Recent posts