본문 바로가기

WPF

[WPF] DataContext 란

DataContext는 마치 큰 책가방과 같아요. 학교에 가서 쓸 책들, 연필, 지우개 같은 학용품을 책가방에 넣듯이, DataContext는 컴퓨터 프로그램에서 데이터(정보)를 담고 관리하는 가방과 같은 역할을 해요. 예를 들어, 학교에서 선생님이 공부할 책을 책가방에서 꺼내서 읽으라고 할 때, DataContext도 프로그램에서 필요한 데이터를 꺼내 쓸 수 있게 해줘요.


DataContext는 프로그래밍에서 매우 중요한 개념으로, 특히 데이터를 관리하는 데 사용되는 모델이나 구조를 의미합니다. DataContext는 데이터 소스와 연동되어 데이터를 저장하고 검색하는 역할을 담당합니다. 예를 들어, LINQ to SQL 같은 기술에서는 데이터베이스의 테이블과 프로그램의 객체를 연결하는 매핑 역할을 합니다.

이런 DataContext는 프로그램이 데이터베이스와 통신할 때 중간에서 정보를 주고받는 역할을 하며, 객체 지향 프로그래밍에서 데이터 모델을 조작할 때 일관된 방법을 제공합니다. DataContext는 일종의 버퍼 역할도 하여, 데이터베이스의 데이터를 직접 다루는 것보다 더 효율적이고 안전하게 데이터를 처리할 수 있도록 합니다.

 

C# 예제

using System;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Linq;

[Table(Name = "Employees")]
public class Employee
{
    [Column(IsPrimaryKey = true)]
    public int Id { get; set; }
    [Column]
    public string Name { get; set; }
}

class Program
{
    static void Main()
    {
        DataContext db = new DataContext("connection string here");
        Table<Employee> employees = db.GetTable<Employee>();

        // 데이터를 조회
        var query = from emp in employees
                    where emp.Name.StartsWith("J")
                    select emp;

        // 조회된 데이터 출력
        foreach (var emp in query)
        {
            Console.WriteLine("ID: {0}, Name: {1}", emp.Id, emp.Name);
        }
    }
}

 

위의 C# 예제에서는 DataContext 클래스를 사용하여 데이터베이스에 연결하고, Employee 테이블의 데이터를 조회하여 결과를 출력하고 있습니다. 이런 식으로 DataContext는 데이터베이스와의 상호 작용을 추상화하여 보다 쉽게 데이터베이스를 다룰 수 있게 돕습니다

'WPF' 카테고리의 다른 글

[WPF] CustomControl 스타일 정의 코드 분석  (0) 2024.04.21
[WPF] DefaultStyleKeyProperty란  (0) 2024.04.19
[WPF] Control 과 ContentControl  (0) 2024.04.09
[WPF] ControlTemplate과 ContentPresenter  (0) 2024.04.07