Entity Framework Core 소개
IMPORTANT
Entity Framework Core(EF Core)는 마이크로소프트가 개발한 오픈 소스의 개체 관계 매핑(ORM) 프레임워크로, 개발자가 .NET 응용 프로그램에서 데이터베이스를 보다 쉽게 사용할 수 있도록 도와주는 도구입니다.
선수 학습 요건
EF Core 강의를 이해하고 따라가기 위해서는 ADO.NET에 대한 기초 지식이 필요합니다. 이를 위해, 다음 링크에 있는 'ADO.NET Fundamentals' 강의를 선수 학습 과정으로 설정하였습니다. 이 강의는 EF Core 강의에 앞서 필수적으로 숙지해야 할 내용을 포함하고 있으며, 여기서 얻은 지식은 EF Core를 학습하는 데 큰 도움이 될 것입니다.
EF Core 소개
Entity Framework Core (EF Core)는 Microsoft의 최신 데이터 액세스 기술로, .NET 응용 프로그램의 데이터 관리를 위한 고급 ORM(Object-Relational Mapping) 기술입니다. 이 기술은 개발자들에게 강력하고 효율적인 데이터베이스 관리 방법을 제공합니다.
EF Core의 주요 특징은 다음과 같습니다:
경량 및 확장 가능
- 다양한 .NET 응용 프로그램에서 사용되는 크로스 플랫폼 지원 기술입니다.
개체 지향적 데이터 접근
- 복잡한 SQL 쿼리를 작성하지 않고도 데이터베이스와 상호 작용할 수 있습니다.
- 데이터의 입력, 조회, 수정, 삭제를 개체 지향적 방식으로 수행할 수 있습니다.
LINQ(Language Integrated Query) 지원
- 코드 내에서 직관적이고 간편한 데이터베이스 쿼리 작성 및 관리를 가능하게 합니다.
Code-First 및 Database-First 접근 방식
- 데이터베이스 스키마를 효과적으로 관리할 수 있는 방법을 제공합니다.
EF Core는 C# 클래스를 기반으로 데이터베이스를 구성하는 Code First 접근 방식을 지원하며, 개발자가 데이터베이스를 더 효과적으로 다룰 수 있도록 해줍니다.
본 강의에서는 EF Core의 기본 개념과 사용 방법, 데이터베이스 마이그레이션, 관계 설정 등을 다룰 예정입니다. 실제 예제를 통해 다양한 기능을 실습해보며 .NET Core 애플리케이션 개발의 효율성을 높여보겠습니다.
EF Core 미리보기 코드 조각
Idea 모델 클래스에서 Ideas 테이블까지
아래 코드 조각은 간단한 예제로, Idea
모델 클래스를 정의하고, IdeaDbContext
를 통해 데이터베이스 컨텍스트를 설정하는 방법을 보여줍니다.
using System;
using System.Linq;
using Microsoft.EntityFrameworkCore;
namespace VisualAcademy;
// 모델 클래스 정의
public class Idea // Ideas 테이블
{
public int Id { get; set; }
public string Title { get; set; }
}
// DbContext 클래스 정의
public class IdeaDbContext : DbContext
{
public DbSet<Idea> Ideas { get; set; } // Ideas 테이블
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
string connectionString = @"Server=(localdb)\mssqllocaldb;
Database=VisualAcademy;Trusted_Connection=True";
optionsBuilder.UseSqlServer(connectionString);
}
}
class Program
{
static void Main()
{
// 데이터베이스 컨텍스트 인스턴스 생성
using var context = new IdeaDbContext();
// 새 Idea 인스턴스 생성 및 추가
var newIdea = new Idea { Title = "EF Core 학습" };
context.Ideas.Add(newIdea);
context.SaveChanges();
// Idea 데이터 조회 및 출력
var ideas = context.Ideas.ToList();
foreach (var idea in ideas)
{
Console.WriteLine($"Idea ID: {idea.Id}, Title: {idea.Title}");
}
}
}
이 코드는 Entity Framework Core를 사용하여 간단한 Idea
모델을 통해 데이터를 저장하고 조회하는 방법을 보여줍니다. IdeaDbContext
는 데이터베이스와의 상호 작용을 관리하며, Idea
클래스는 데이터베이스의 Ideas
테이블을 나타냅니다.