Entity Framework 11

C# 닷넷 엔티티 프레임워크(Entity Framework) 복잡한 관계 매핑과 쿼리 최적화

지난 포스팅에서는 N:N 관계 매핑과 중간 테이블을 활용한 데이터 관리 방법을 학습했습니다. 이번 글에서는 다단계 관계와 상속 관계를 활용한 복잡한 관계 매핑과,이를 효과적으로 관리하기 위한 최적화 전략을 살펴보겠습니다.특히, 회사 조직 구조와 결제 시스템을 예제로 다루며 실습을 통해 이해를 도울 예정입니다.1. 복잡한 관계 매핑이란?복잡한 관계는 다음과 같은 특성을 가집니다다단계 관계- 데이터가 계층 구조를 가지며 상호 연관됩니다.- 예: 직원(Employee) → 팀(Team) → 부서(Department). 상속 관계- 공통 속성을 부모 클래스에서 정의하고, 각 자식 클래스에서 고유 속성을 추가합니다.- 예: 결제시스템(Payment System) → 신용카드(CreditCard Payment), ..

Entity Framework 2025.01.28

C# 닷넷 엔티티 프레임워크(Entity Framework) N:N 관계 매핑

지난 포스팅에서는 Entity Framework의 1:N 관계 매핑과 제품(Product)과 카테고리(ProductCategory) 간의 관계 설정 방법을 살펴보았습니다.이번 글에서는 N:N 관계 매핑을 학습하며, 학생(Student)과 강의(Course) 간의 관계를 예제로 구현하겠습니다.1. N:N 관계란?1:N 관계와 달리 N:N 관계는 여러 엔티티가 다른 여러 엔티티와 연결될 수 있는 관계를 의미합니다. 예를 들어, 한 명의 학생(Student)은 여러 강의(Course)에 등록할 수 있고 한 강의는 여러 학생에게 제공되는 경우를 볼 수 있겠죠. 이러한 관계를 구현하기 위해 데이터베이스에서는 중간 테이블(Join Table)을 사용합니다.1.1 중간테이블(Join Table)N:N 관계를 구현하려..

Entity Framework 2025.01.22

엔티티 프레임워크(Entity Framework) 1:N 관계 매핑

지난 포스팅에서는 Entity Framework의 1:1 관계 매핑과DbContext의 주요 메서드인 OnConfiguring, OnModelCreating에 대해 배웠습니다. 이번 글에서는 1:N 관계 매핑을 살펴보고제품(Product)과 카테고리(ProductCategory) 간의 관계를 예제로 구현하겠습니다.1. 1:N 관계란?1:N 관계는 한 엔티티가 여러 엔티티와 연결되는 관계를 의미합니다. 예를 들어 제품 카테고리(ProductCategory)에는 여러 제품들이 속하고 있고,제품은 특정 카테고리에 속하는 경우에 해당될 수 있겠죠.  2. 1:N 관계 매핑2.1 시나리오 설명제품(Product)- 각각의 제품은 반드시 하나의 카테고리에 속합니다.- 따라서 Category 속성은 nullable하..

Entity Framework 2025.01.22

EF 1:1 관계 매핑 이해하기

지난 포스팅에서는 LINQ를 활용해 데이터베이스에 속성을 추가하고 데이터를 조작하는 방법을 알아보았습니다. 이번 글에서는 Entity Framework의 1:1 관계 매핑을 살펴보고,이를 구현하기 위한 DbContext 의 주요 메서드(OnConfiguring, OnModelCreating)와 Fluent API에 대해 알아보겠습니다.1. 관계 매핑이란?데이터베이스는 테이블 간의 관계를 통해 데이터를 관리합니다.Entity Framework는 이를 Fluent API 또는 데이터 주석(Data Annotations)을 사용해 코드에서 정의할 수 있도록 지원합니다. 관계의 종류1:1 관계 (One-to-One)- 한 엔티티가 다른 하나의 엔티티와만 연결됩니다.- 예: 제품 ↔ 제품 상세내용 1:N 관계 (..

Entity Framework 2025.01.20

EF 데이터베이스 구조 변경 및 마이그레이션 심화

지난 포스팅에서는 LINQ를 사용해 데이터를 조회하는 방법을 배웠습니다. 이번 글에서는 마이그레이션을 활용해 데이터베이스 구조를 변경하고,추가된 열에 데이터를 삽입 및 조회하는 과정을 살펴보겠습니다.1. 데이터베이스 구조 변경하기1.1 Product 클래스 수정기존 Product 클래스에 Description 속성을 추가합니다.namespace EFCoreDemo.Model;public class Product{ public int Id { get; set; } public string Name { get; set; } = string.Empty; public int Price { get; set; } public string Description { get; set; } = str..

Entity Framework 2025.01.18

Entity Framework를 활용한 CRUD 작업

지난 포스팅에서는 LINQ를 사용해 데이터를 조회하는 방법을 알아보았습니다.이번 글에서는 Entity Framework를 활용한 CRUD 작업(Create, Read, Update, Delete)을 살펴보겠습니다. CRUD는 데이터베이스를 다루는 기본 작업이며,이를 통해 데이터를 생성, 조회, 수정, 삭제하는 과정을 이해할 수 있습니다.1. CRUD란?CRUD는 다음과 같은 작업의 약자입니다.Create: 데이터를 생성.Read: 데이터를 조회.Update: 데이터를 수정.Delete: 데이터를 삭제.Entity Framework에서는 DbContext와 LINQ를 활용해 이러한 작업을 간단히 구현할 수 있습니다.모든 작업이 끝나면 SaveChanges()를 호출하여 변경 내용을 데이터베이스에 반영합니다..

Entity Framework 2025.01.15

LINQ로 간편하게 데이터 조회하기

지난 포스팅에서는 Code-First 방식으로 Entity Framework를 설정하고, 기본적인 환경을 구축하는 방법을 배웠습니다.이번 글에서는 LINQ를 사용해 데이터베이스에서 데이터를 조회하는 방법을 간단한 예제와 함께 알아보겠습니다.1. LINQ란 무엇인가? https://learn.microsoft.com/ko-kr/dotnet/csharp/linq/LINQ(Language Integrated Query)는 C#에서 제공하는 데이터 쿼리 도구로,SQL을 직접 작성하지 않고도 객체 지향 프로그래밍 언어의 문법으로 데이터를 조회하고 조작할 수 있습니다.SQL 대신 LINQ를 사용하면 코드와 데이터 간의 일관성을 유지할 수 있어 개발 생산성을 크게 높일 수 있습니다. 2. 데이터 준비하기LINQ를 실..

Entity Framework 2025.01.15

Entity Framework 시작하기 - 설치 및 설정

지난 포스팅에서 Entity Framework의 주요 구성 요소를 알아보았다면,이번 글에서는 Code-First 방식으로 프로젝트를 설정하고 Entity Framework를 설치하는 과정을 설명하겠습니다.1. Code-First란?Code-First는 코드로 데이터베이스를 설계하고 관리하는 방식으로,기존 데이터베이스 없이도 애플리케이션 코드를 기반으로 데이터베이스를 생성할 수 있습니다. 이 방식은 다음과 같은 특징을 가집니다. 코드 우선: 데이터베이스보다 애플리케이션 코드를 먼저 작성.객체 지향적 설계: 클래스와 속성으로 테이블과 열을 정의.자동 마이그레이션: 데이터베이스 구조 변경을 코드로 관리. 이 방식은 특히 데이터 중심의 애플리케이션 개발에서 생산성과 유지보수성을 크게 향상시킵니다.2. 프로젝트 ..

Entity Framework 2025.01.13

Entity Framework의 구성 요소

지난 포스팅에서는 ORM의 동작 방식과 Entity Framework(EF)가 데이터베이스 작업을 단순화하는 원리를 살펴보았습니다.이번 글에서는 Entity Framework의 핵심 구성 요소인 DbContext, Entity, LINQ의 역할과 개념을 알아보겠습니다. 이 세 가지를 이해하면 Entity Framework의 전반적인 구조를 파악하고,데이터를 효율적으로 다루는 방법에 한 걸음 더 다가갈 수 있습니다.1. Entity Framework의 구성 요소 Entity Framework는 데이터베이스 작업을 단순화하기 위해 설계된 도구입니다.그리고 EF의 구조는 세 가지 주요 구성요소가 있습니다. 데이터베이스와 애플리케이션 간의 연결, 상호작용을 관리하는 DbContext,데이터베이스 테이블의 구조를..

Entity Framework 2025.01.12

ORM의 동작 방식과 Entity Framework 간단 소개

지난 포스팅에서는 ORM의 정의와 SQL을 완전히 대체하지 않는다는 점을 살펴보았습니다. 이번 글에서는 ORM이 실제로 어떻게 동작하는지 구체적으로 설명하고,이를 기반으로 한 대표적인 ORM 기술인 Entity Framework(EF)에 대해 간단히 알아보겠습니다.1. ORM의 동작 방식 ORM은 데이터베이스와 애플리케이션 간의 중간 계층 역할을 합니다. 이는 개발자가 객체 지향 언어로 작성한 코드를 SQL 쿼리로 자동 변환해 실행하고,데이터베이스에서 가져온 데이터를 다시 객체로 변환하여 프로그래밍 언어에서 바로 사용할 수 있도록 합니다.1.1 SQL 쿼리 자동 생성ORM은 개발자가 작성한 코드를 기반으로 SQL 쿼리를 생성하고 실행합니다.이를 통해 개발자는 SQL을 직접 작성하지 않아도 됩니다. 예: ..

Entity Framework 2025.01.10