{{위키데이터 속성 추적}}
{{Infobox programming language
| name                   = LINQ<br />Language Integrated Query
| logo                   = 
| paradigm               = 
| year                   = 
| designer               = [[마이크로소프트]]
| developer              = [[마이크로소프트]]
| latest_release_version = 
| latest_release_date    = 
| latest_test_version    = 
| latest_test_date       = 
| turing-complete        = 아니오
| typing                 = 스트롱 타입(Strongly typed)
| implementations        = [[CLI 언어 목록|닷넷 언어]] ([[C 샤프|C#]], [[F 샤프|F#]], [[비주얼 베이직 닷넷]])
| dialects               = 
| influenced_by          = [[SQL]], [[하스켈]]
| influenced             = 
| license                =
| website                =
}}
'''LINQ'''('링크'로 발음, Language Integrated Query)는 네이티브 데이터 [[질의어|질의]] 기능을 [[CLI 언어 목록|닷넷 언어]]에 추가하는 [[마이크로소프트]] [[닷넷 프레임워크]] 구성 요소이며 2007년 [[닷넷 프레임워크 3.5]]의 중요 부분으로 처음 출시되었다.

LINQ는 [[SQL]] 문과 비슷하게 질의식의 추가를 통해 언어를 확장하며 [[배열]], 열거식 클래스, [[XML]] 도큐먼트, [[관계형 데이터베이스]], 서드파티 데이터 소스로부터 데이터를 편리하게 추출하고 가공하기 위해 사용할 수 있다. 질의식을 임의의 계산을 읽기 쉽게 구성하기 위한 일반적인 프레임워크로 활용하는 다른 용례로는 이벤트 핸들러 구성<ref name="reactive">{{웹 인용| url = http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx | title = Rx framework}}</ref>, 모나딕 [[구문 분석|파서]]가 포함된다.<ref name="parscomb">{{웹 인용| url = http://blogs.msdn.com/lukeh/archive/2007/08/19/monadic-parser-combinators-using-c-3-0.aspx | title = Monadic Parser Combinators using C#3 | accessdate = 2009-11-21}}</ref>

LINQ의 포팅판으로는 [[PHP]]([https://phplinq.codeplex.com/ PHPLinq] {{웨이백|url=https://phplinq.codeplex.com/ |date=20180119124921 }}), [[자바스크립트]]([https://github.com/mihaifm/linq linq.js]), [[타입스크립트]]([https://github.com/kutyel/linq.ts linq.ts]), [[액션스크립트]]([https://web.archive.org/web/20181225143803/http://actionlinq.riaforge.org/ ActionLinq])용으로 존재하지만
이 중 어느 것도 닷넷 파생 언어 C#, F#, VB.NET과 완전히 동일한 것은 아니다.

== PLINQ ==
닷넷 프레임워크 버전 4에는 [[PLINQ]](Parallel LINQ)가 포함되어 있으며 이는 LINQ 쿼리들을 위한 [[병렬 컴퓨팅|병렬]] 실행 엔진이다. <code>ParallelQuery<T></code> 클래스를 정의한다. <code>IEnumerable<T></code> 인터페이스 구현체는 닷넷 프레임워크의 System.Linq 이름공간의 ParallelEnumerable 클래스에 의해 정의된 <code>AsParallel<T>(this IEnumerable<T>)</code> 확장 메소드를 호출함으로써 PLIQ 엔진의 이점을 활용할 수 있다.<ref name="ParallelEnumerable">{{웹 인용| url = http://msdn.microsoft.com/en-us/library/dd413602(v=vs.110).aspx | title = ParallelEnumerable Class | accessdate = 2014-05-07}}</ref> PLIQ 엔진은 다중 스레드로 동시에 쿼리의 일부를 실행할 수 있어서 더 빠른 결과를 도출해 낸다.<ref name="channel9">{{웹 인용| url = http://channel9.msdn.com/Showpost.aspx?postid=347531 | title = Programming in the Age of Concurrency: Concurrent Programming with PFX | accessdate = 2007-10-16}}</ref>

== 같이 보기 ==
* [[객체 관계 매핑]] (ORM)
* [[리스트 캄프리헨션]]
* [[느긋한 계산법]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* [http://msdn.microsoft.com/en-us/netframework/aa904594.aspx Official Microsoft LINQ Project]
* [http://www.developerfusion.com/article/8250/linq-to-objects-for-the-net-developer/ LINQ to Objects for the .NET developer] {{웨이백|url=http://www.developerfusion.com/article/8250/linq-to-objects-for-the-net-developer/ |date=20200721155210 }}
* [https://web.archive.org/web/20200721231257/https://social.msdn.microsoft.com/Forums/en-US/b0ed008e-b4f6-47f6-8b43-9838b94f5ced/what-is-the-future-of-linq-to-sql-as-of-2016?forum=linqtosql Future of LINQ to SQL]
* [http://www.codeproject.com/Articles/383749/How-does-it-work-in-Csharp-Part-3-Csharp-LINQ-in-d How does it work in C#? - Part 3 (C# LINQ in detail)]

{{닷넷 프레임워크}}
{{질의어}}

{{전거 통제}}
[[분류:질의 언어]]
[[분류:닷넷 용어]]