EF Core(Entity Framework Core)는 개발자가 .NET 개체를 사용하여 데이터베이스와 상호 작용할 수 있도록 하는 ORM(개체 관계형 매핑) 프레임워크입니다. EF Core의 필수 기능 중 하나는 데이터베이스 마이그레이션을 처리하는 기능입니다. 전제 조건 기본적인 C# 프로그래밍 언어 지식. 기본 OOPS 개념 이해 이 문서에서는 EF Core 마이그레이션이 중요한 이유와 이를 사용하는 방법을 예제와 함께 설명합니다. 따라서 시작하려면 다음을 수행하십시오. C# 소개 C#은 꽤 오랫동안 사용되어 왔으며 계속해서 개발되어 더욱 향상된 기능을 제공하고 있습니다. Medium.com 학습 목표 예제와 함께 EF Core 마이그레이션을 사용하는 방법 EF Core 마이그레이션이 중요한 이유 시작하기 EF Core 마이그레이션은 시간 경과에 따른 데이터베이스 스키마 변경 사항을 관리하는 방법입니다. 데이터베이스 모델을 변경하는 경우(예: 테이블이나 열 추가 또는 제거) 해당 변경 사항을 설명하는 마이그레이션을 생성할 수 있습니다. 그런 다음 마이그레이션을 사용하여 새 모델과 일치하도록 데이터베이스 스키마를 업데이트합니다. EF Core 마이그레이션이 중요한 이유는 무엇입니까? EF Core 마이그레이션은 데이터를 보존하면서 시간이 지남에 따라 데이터베이스 스키마를 발전시킬 수 있기 때문에 필수적입니다. 마이그레이션이 없으면 모델을 변경할 때마다 데이터베이스 스키마를 수동으로 수정해야 하므로 시간이 많이 걸리고 오류가 발생하기 쉽습니다. 마이그레이션은 또한 변경 사항을 쉽게 추적하고 필요한 경우 이전 버전으로 롤백할 수 있도록 데이터베이스 스키마 버전을 지정하는 방법을 제공합니다. EF Core 마이그레이션을 사용하는 방법은 무엇입니까? EF Core 마이그레이션을 사용하려면 다음 몇 가지 단계를 수행해야 합니다. 새 EF Core 프로젝트를 만듭니다. 첫 번째 단계는 Visual Studio에서 새 EF Core 프로젝트를 만드는 것입니다. "새 프로젝트 만들기"를 선택한 다음 "ASP.NET Core 웹 애플리케이션"을 선택하고 "웹 애플리케이션(모델-뷰-컨트롤러)" 템플릿을 선택하면 됩니다. 데이터베이스 컨텍스트를 만듭니다. 다음 단계는 데이터베이스 컨텍스트 클래스를 만드는 것입니다. 이 클래스는 .NET 개체와 데이터베이스 간의 상호 작용을 관리합니다. 데이터베이스 컨텍스트를 만들려면 프로젝트에서 새 클래스를 만들고 DbContext 클래스에서 상속합니다. public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } } 데이터베이스 모델 생성 데이터베이스 컨텍스트를 생성한 후에는 데이터베이스 모델을 생성해야 합니다. 이 모델은 데이터베이스의 구조를 나타내며 EF Core에서 데이터베이스 테이블과 열을 생성하는 데 사용됩니다. 데이터베이스 모델을 생성하려면 프로젝트에서 새 클래스를 생성하고 해당 속성을 데이터베이스 필드로 정의합니다. public class MyModel { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } EF Core 마이그레이션 활성화 다음으로, 프로젝트에서 EF Core 마이그레이션을 활성화해야 합니다. 이렇게 하려면 패키지 관리자 콘솔을 열고 다음 명령을 입력합니다. PM> Install-Package Microsoft.EntityFrameworkCore.Tools 이 패키지에는 EF Core 마이그레이션을 생성하고 관리하는 데 필요한 도구가 포함되어 있습니다. 마이그레이션 생성 EF Core 마이그레이션을 활성화하면 첫 번째 마이그레이션을 생성할 수 있습니다. 마이그레이션을 생성하려면 패키지 관리자 콘솔을 열고 다음 명령을 입력합니다. PM> Add-Migration InitialCreate 그러면 데이터베이스 모델에 대한 변경 사항을 설명하는 "InitialCreate"라는 새 마이그레이션이 생성됩니다. 프로젝트의 "Migrations" 폴더에서 마이그레이션 내용을 볼 수 있습니다. 데이터베이스 업데이트 마이그레이션을 생성한 후 새 모델과 일치하도록 데이터베이스 스키마를 업데이트할 수 있습니다. 이렇게 하려면 패키지 관리자 콘솔을 열고 다음 명령을 입력합니다. PM> Update-Database 그러면 데이터베이스에 마이그레이션이 적용되고 해당 스키마가 업데이트됩니다. 예 EF Core 마이그레이션을 사용하는 예를 살펴보겠습니다. "Id"와 "Name"이라는 두 개의 열이 있는 간단한 "Students" 테이블을 생성한다고 가정합니다. Visual Studio에서 새 ASP.NET Core 웹 애플리케이션 프로젝트를 만드는 것부터 시작하겠습니다. 새 EF Core 프로젝트를 만듭니다. Visual Studio에서 새 ASP.NET Core 웹 애플리케이션 프로젝트를 만듭니다. "웹 애플리케이션(모델-뷰-컨트롤러)" 템플릿을 선택하고 인증을 위해 "개별 사용자 계정"을 선택합니다. 프로젝트 이름을 "EFCoreMigrationsExample"로 지정합니다. 데이터베이스 컨텍스트를 만듭니다. 프로젝트의 "Models" 폴더에 "MyDbContext"라는 새 클래스를 만들고 DbContext 클래스에서 상속합니다. using Microsoft.EntityFrameworkCore; namespace EFCoreMigrationsExample.Models { public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } public DbSet<Student> Students { get; set; } } } "Students" 속성은 데이터베이스의 "Students" 테이블을 나타내는 DbSet입니다. 데이터베이스 모델 생성 프로젝트의 "Models" 폴더에 새 "Student" 클래스를 생성하고 해당 속성을 정의합니다. namespace EFCoreMigrationsExample.Models { public class Student { public int Id { get; set; } public string Name { get; set; } } } EF Core 마이그레이션 활성화 패키지 관리자 콘솔을 열고 다음 명령을 입력하여 EF Core 도구 패키지를 설치합니다. PM> Install-Package Microsoft.EntityFrameworkCore.Tools 마이그레이션 생성 패키지 관리자 콘솔을 열고 다음 명령을 입력하여 마이그레이션을 만듭니다. PM> Add-Migration InitialCreate 그러면 데이터베이스 모델에 대한 변경 사항을 설명하는 "InitialCreate"라는 새로운 마이그레이션이 생성됩니다. 마이그레이션 파일은 다음과 같아야 합니다. using Microsoft.EntityFrameworkCore.Migrations; namespace EFCoreMigrationsExample.Migrations { public partial class InitialCreate : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Students", columns: table => new { Id = table.Column<int>(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column<string>(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Students", x => x.Id); }); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Students"); } } } 마이그레이션을 수행하면 "Id" 및 "Name" 열이 포함된 "Students"라는 새 테이블이 생성됩니다. 데이터베이스 업데이트 패키지 관리자 콘솔을 열고 다음 명령을 입력하여 데이터베이스 스키마를 업데이트합니다. PM> Update-Database 그러면 데이터베이스에 마이그레이션이 적용되고 해당 스키마가 업데이트됩니다. 이제 EF Core를 사용하여 데이터베이스에서 학생을 추가, 업데이트 및 삭제할 수 있습니다. 예를 들어 다음과 같이 데이터베이스에 새 학생을 추가할 수 있습니다. using EFCoreMigrationsExample.Models; namespace EFCoreMigrationsExample.Controllers { public class HomeController : Controller { private readonly MyDbContext _context; public HomeController(MyDbContext context) { _context = context; } public IActionResult Index() { var student = new Student { Name = "John" }; _context.Students.Add(student); _context.SaveChanges(); return View(); } } } 이 코드는 Student 클래스의 새 인스턴스를 만들고 해당 Name 속성을 "John"으로 설정합니다. 그런 다음 학생을 Students DbSet에 추가하고 변경 사항을 데이터베이스에 저장합니다. 결론 EF Core 마이그레이션은 애플리케이션에서 데이터베이스 스키마 변경 사항을 관리하는 편리한 방법을 제공합니다. 이 문서에서는 DbContext 만들기, 모델 정의, 마이그레이션 만들기, 데이터베이스 스키마 업데이트를 포함하여 EF Core 마이그레이션을 사용하여 간단한 데이터베이스 스키마를 만드는 방법을 보여줍니다. 이는 EF Core가 수행할 수 있는 작업의 시작일 뿐입니다. EF Core를 사용하여 데이터를 쿼리 및 조작하고, 테이블 간의 복잡한 관계를 만드는 등의 작업을 수행할 수 있습니다. 사용하기 쉽고 다양한 기능을 갖춘 EF Core는 .NET에서 데이터 기반 애플리케이션을 구축하기 위한 탁월한 선택입니다. 이 문서는 EF Core 마이그레이션을 시작하는 데 도움이 되었습니다. 질문이나 의견이 있으시면 아래에 남겨주세요. 즐거운 코딩하세요! 나를 따라와 , , , , C# 출판물 링크드인 인스타그램 트위터 Dev.to 게시됨 여기에도