언어 통합 쿼리 란 무엇입니까?

LINQ (Language Integrated Query)는 선언적 쿼리 구문을 주로 C# 및 VB.NET에 필수 언어로 원활하게 통합 할 수있는 기능을 제공합니다. LINQ의 개발은 쿼리를 수행 할 때 발생하는 객체 지향 환경에서 일하는 개발자를 해결했습니다. 2007 년 11 월 Microsoft® .NET Framework 버전 3.5의 일부로 소개되었으며 Visual Studio® 코드 이름 "Orcas."

언어 통합 쿼리가 생성되기 전에 .NET 언어는 관계 데이터베이스 또는 XML 문서를 쿼리하는 기본 방법이 없었습니다. 이 언어로 작성하는 개발자는 각각 SQL 또는 XQuery를 문자열로 포함시켜야했으며 수동으로 데이터를 .NET 객체에 맵핑해야했습니다. 내장 된 쿼리 문자열 및 매핑은 .NET 컴파일러로 검증 할 수 없으므로 실행 시간에 잠재적 오류를 발견 할 수 있습니다.

언어 통합 쿼리 이전에 직면 한 또 다른 문제는 .NET 언어가 .NET OB의 쿼리 컬렉션에 대한 객체 지향적 인 구문 만 제공했습니다.Jects. 일반적으로 개발자는 전체 소스 컬렉션을 반복하여 검색 기준에 따라 새로운 결과 컬렉션을 구축합니다. 개발자는 결과 컬렉션을 구축하면서 데이터를 변환 할 수 있습니다. 이 접근법은 번거 롭습니다. C# 또는 VB로 작성된 간단한 선택 쿼리에는 5 줄 이상의 코드가 필요하지만 동일한 쿼리에는 쿼리 언어로 한 줄의 코드가 필요합니다.

객체 지향 환경 내에서 쿼리의 문제로 인해 Microsoft는 LINQ를 만들기위한 자극을 주었다. LINQ는 SQL을 연상시키는 쿼리 구문을 제공하여 C# 또는 VB와 인라인으로 사용되며 정적 유형 확인이 완료됩니다. .NET 컬렉션을 쿼리 할 때 중첩 루프를 사용하는 대신 개발자는 LINQ 구문을 사용하여 항목을 선택하고 데이터를 변환 할 수 있습니다. 다른 장점들 중에서도 순수한 객체 지향 구문과 비교하여 코드 줄이 줄어 듭니다.

외부에 액세스 할 때 dATA 소스, LINQ 및 지원 구성 요소는 .NET 언어 자체 내에서 임베디드 쿼리 언어 및 데이터 매핑이 필요하지 않습니다. 데이터 매핑을 수행하기 위해 LINQ는 LINQ 제공 업체라는 구성 요소에 따라 다릅니다. LINQ-to-Objects는 LINQ가 .NET 컬렉션에 액세스 할 수있는 재고 제공 업체입니다. 마찬가지로 관계형 데이터베이스 및 XML 문서에 액세스 할 수있는 공급자가 있습니다. 이러한 제공 업체의 대부분은 .NET 프레임 워크에 포함되지 않은 타사 구성 요소입니다. 사용 된 공급자에 관계없이 모든 쿼리는 동일한 LINQ 구문을 사용합니다.

언어 통합 쿼리 구문과 제공 업체 간의 제공자는 LINQ 시설의 일부로 .NET Framework에 추가 된 쿼리 연산자 라이브러리입니다. 이 연산자는 필터링, 주문, 이론 작업 설정 및 집계와 같은 작업을 수행합니다. 이 연산자는 .NET 프레임 워크의 일부이므로 개발자가 선택하면 LINQ 없이도 사용할 수 있습니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?