LINQ 6

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 데이터베이스 구조 변경 및 마이그레이션 심화

지난 포스팅에서는 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

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