티스토리 뷰
LINQ 의 출연
정말 .NET 이라는 세상이 많이 좋아진 것 같습니다. 강력한 Visual Studio 2008 이란 개발 툴에 차세대 프레임웍인 .NET Framework 3.5 로 아직까지 그것의 모두를 채 맛보지 못했습니다. C# 3.0 의 여운이 가시기도 전에 Silverlight 2.0 Beta 의 출시로 다시 한번 RIA 업계를 강타하였고, 올해는 너무나도 할게 많은 한 해가 될 것 같습니다.
C# 3.0 의 특징은
l Lambda Expression ( 람다식 )
l Object Initialize ( 객체 초기화 )
l Extension Methods ( 확장 메서드 )
l Anonymous Type ( 익명 타입 )
l 등등…
바로, C# 3.0 의 LINQ 는 이러한 람다식이라든지, 확장 메서드 등을 이용한 종합 예술이라고 생각합니다. 때문에, 위의 C# 3.0 의 특징을 이해하지 못한다면, LINQ 를 효율적으로 사용하기에 한계가 있을 것입니다. 때문에, 위의 C# 3.0 의 새로운 기능에 대해서 아직 잘 모르시는 분은 본 블로그의 C# 3.0 아티클을 참고하십시오.
LINQ Provider
Provider 란 사전적 의미로 “공급자” 정도로 해석할 수 있습니다. LINQ 는 Language Integrated Query 로써, 언어 통합 쿼리를 뜻합니다. 그럼, LINQ Provider 는 쿼리식과 같은 언어적 구문을 해석할 수 있는 공급자라고 생각하시면 됩니다.
.NET 이 제공하는 LINQ Provider 는 다음과 같습니다.
l LINQ To Objects
l LINQ To Entities
l LINQ To SQL – MS SQL 만 지원함
l LINQ To XML
바로 LINQ(Language Integrated Query ) 는 이렇게 다양한 Provider 들을 서로 다른 쿼리식이 아닌, 통합된 쿼리식으로 C# 3.0 에서 사용할 수 있답니다.
특히, LINQ To SQL 은 Visual Studio 에 함께 통합되어, 이전에 Typed DataSet 과 같이 Drag&Drop 을 지원하며, 자동으로 Entity 클래스를 생성하고, 이것에 대한 Context 객체를 생성해 줌으로써 Typed DataSet 과 Entity 객체의 장점을 모두 갖추며, 더욱 강력한 언어적 기능을 제공해 줍니다.
하지만, 이것은 단지 시작에 불과합니다. 기본적으로 제공하는 LINQ Provider 는 몇 개 되지 않지만, 개발자가 직접 LINQ Provider 를 만듦으로써 모든 대상을 통합된 쿼리식을 사용할 수 있습니다. 이토록 경이로울 수가… +_+;
Custom LINQ Provider
이미 해외의 많은 개발자들이 Custom LINQ Provider 를 만들어 내놓았습니다.
대표적인 사례는… ( 정성태님 블로그 참조 )
- LINQ to Amazon
- LINQ to Active Directory
- LINQ to Bindable Sources (SyncLINQ)
- LINQ over C# project
- LINQ to CRM
- LINQ To Geo - Language Integrated Query for Geospatial Data
- LINQ to Excel
- LINQ to Expressions (MetaLinq)
- LINQ Extender (Toolkit for building LINQ Providers)
- LINQ to Flickr
- LINQ to Google
- LINQ to Indexes (LINQ and i40)
- LINQ to IQueryable (Matt Warren on Providers)
- LINQ to JSON
- LINQ to LDAP
- LINQ to NHibernate
- LINQ to JavaScript
- LINQ to Lucene
- LINQ to Metaweb(freebase)
- LINQ to MySQL, Oracle and PostgreSql
- LINQ to RDF Files
- LINQ to Sharepoint
- LINQ to SimpleDB
- LINQ to Streams
- LINQ to WebQueries
- LINQ to WMI
- LINQ to XtraGrid
정말 대단합니다. LINQ To SQL 에 이은 LINQ To Oracle 과 LINQ To WMI, LDAP, Active Directory 등등… 대부분이 Open Source 이기 때문에, 그냥 가져다 쓰기만 하면 될 정도입니다. 이런걸 보고 있자면, 정말 우리(?)보다 훨씬 앞서가고 있는 개발자들이 태반이네요 ㅋ.ㅋ;;
이미 .NET Framework 3.5 Beta 버젼부터 나온 소스들도 있기 때문에, 소스중 현재 정식 .NET Framework 3.5 와 Namespace 체계가 다른것도 있습니다. 조금만 수정해 주시면, 위의 소스들을 컴파일 하시는데 어렵지 않으실 겁니다.
이미 .NET Framework 3.5 Beta 버젼부터 나온 소스들도 있기 때문에, 소스중 현재 정식 .NET Framework 3.5 와 Namespace 체계가 다른것도 있습니다. 조금만 수정해 주시면, 위의 소스들을 컴파일 하시는데 어렵지 않으실 겁니다.
하지만, 저도 뭐하나 해봐야 할 것 같긴한데… 다음시간에 Custom LINQ Provider 를 살짝 만들어 보겠습니다. 기대는 하지 말아 주세요~ ^^;
'.NET > C#' 카테고리의 다른 글
Custom LINQ Provider - [4]. Query(쿼리)를 이용한 원격 개체 탐색 (0) | 2008.03.27 |
---|---|
Custom LINQ Provider - [3]. Custom LINQ Provider 만들기 (IQueryProvider) (0) | 2008.03.17 |
Custom LINQ Provider - [2]. Custom LINQ Provider 만들기 (IQueryable) (0) | 2008.03.13 |
LINQ 의 OUTER JOIN 작업 (0) | 2007.09.04 |
LINQ to SQL Classes 와 LINQ의 JOIN 작업 (2) | 2007.09.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
- ***** MY SOCIAL *****
- [SOCIAL] 페이스북
- [SOCIAL] 팀 블로그 트위터
- .
- ***** MY OPEN SOURCE *****
- [GITHUB] POWERUMC
- .
- ***** MY PUBLISH *****
- [MSDN] e-Book 백서
- .
- ***** MY TOOLS *****
- [VSX] VSGesture for VS2005,200…
- [VSX] VSGesture for VS2010,201…
- [VSX] Comment Helper for VS200…
- [VSX] VSExplorer for VS2005,20…
- [VSX] VSCmd for VS2005,2008
- .
- ***** MY FAVORITES *****
- MSDN 포럼
- MSDN 라이브러리
- Mono Project
- STEN
- 일본 ATMARKIT
- C++ 빌더 포럼
- .
TAG
- github
- POWERUMC
- 땡초
- mono
- 비주얼 스튜디오
- c#
- TFS
- monodevelop
- 엄준일
- testing
- Team Foundation Server
- 비주얼 스튜디오 2010
- .NET Framework 4.0
- ALM
- TFS 2010
- Team Foundation Server 2010
- LINQ
- Visual Studio
- Managed Extensibility Framework
- Visual Studio 2010
- Silverlight
- Windows 8
- ASP.NET
- test
- .NET
- umc
- Visual Studio 11
- 팀 파운데이션 서버
- MEF
- Visual Studio 2008