안녕하세요, 오늘은 C#에서 사용되는 LINQ(Language Integrated Query)에 대해 알아보려고 합니다. LINQ는 데이터를 조회하고 조작하는 강력한 기능을 제공하는 C#의 주요 기능 중 하나입니다. LINQ는 다양한 종류가 있으며, 이 글에서는 그 중 몇 가지를 살펴보고 각각에 대한 예제를 제공하겠습니다.
1. LINQ to Objects
LINQ to Objects는 메모리에 있는 데이터에 대해 쿼리를 수행합니다. 이는 배열이나 리스트와 같은 컬렉션에 대해 사용됩니다.
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = from num in numbers
where num % 2 == 0
select num;
위의 예제에서는 numbers 리스트에서 짝수를 선택하는 LINQ 쿼리를 보여줍니다.
2. LINQ to SQL
LINQ to SQL은 SQL 데이터베이스에 대해 쿼리를 수행합니다. 이를 통해 데이터베이스 테이블을 객체로 취급하고 SQL 쿼리를 C# 코드로 작성할 수 있습니다.
DataClasses1DataContext dbContext = new DataClasses1DataContext();
var customers = from customer in dbContext.Customers
where customer.City == "London"
select customer;
위의 예제에서는 "London"에 사는 모든 고객을 선택하는 LINQ to SQL 쿼리를 보여줍니다.
3. LINQ to XML
LINQ to XML은 XML 데이터에 대해 쿼리를 수행합니다. 이를 통해 XML 문서를 쉽게 읽고 쓸 수 있습니다.
XElement books = XElement.Load("Books.xml");
var titles = from book in books.Elements("book")
where (int)book.Element("price") > 20
select book.Element("title").Value;
위의 예제에서는 가격이 20 이상인 모든 책의 제목을 선택하는 LINQ to XML 쿼리를 보여줍니다.
4. LINQ to Entities
LINQ to Entities는 Entity Framework를 사용하여 데이터베이스에 대해 쿼리를 수행합니다. 이를 통해 데이터베이스 테이블을 객체로 취급하고 SQL 쿼리를 C# 코드로 작성할 수 있습니다.
using (var context = new SampleContext())
{
var query = from c in context.Customers
where c.City == "London"
select c;
}
위의 예제에서는 "London"에 사는 모든 고객을 선택하는 LINQ to Entities 쿼리를 보여줍니다.
이상으로 C#에서 사용되는 LINQ의 주요 종류와 각각에 대한 예제를 살펴보았습니다. LINQ는 C#에서 데이터를 효율적으로 처리하는 데 매우 유용한 도구입니다. 각각의 LINQ 종류는 특정 데이터 소스에 대해 최적화되어 있으며, 이를 이해하고 적절히 활용하면 데이터 처리 작업을 훨씬 쉽고 효율적으로 수행할 수 있습니다.
'프로그래밍 > C#' 카테고리의 다른 글
[C#] 디자인패턴 - Strategy Pattern (0) | 2023.08.15 |
---|---|
[C#] LINQ 쿼리 구문 연산자와 사용법 (0) | 2023.06.09 |
[C#] Log4net을 이용한 Logger 구현 (0) | 2023.04.18 |
[C#] MessagePack-CSharp을 이용한 고성능 객체 직렬화 및 역직렬화 (0) | 2023.04.14 |
[C#] List<object>를 특정 클래스 타입의 List로 캐스팅하는 방법 (0) | 2023.03.27 |