LINQ (language integrated query) 는 VS 2008 과 .NET 3.5 에서 새롭게 제공해주는 기능중 하나입니다.
LINQ 는 .NET 에서 쿼리 데이타의 컨셉으로 만들었습니다. 이는 프로그래밍 언어를 선택하는데 있어서 효과적으로 빨리 쿼리할 수 있게끔 하였습니다.
LINQ 의 장점 중 하나는 VB 그리고 C# 에서 안전한 형식의 쿼리문장을 구현이 가능해졌다는 것입니다. 그 말 의미는 구현한 LINQ 쿼리문장에서 컴파일시에 오류를 체크 할 수 있다는 의미입니다. 그리고 완벽한 인텔리센스 제공 및 구현한 코드에 대한 리팩터링을 제공해 줍니다.
이번에는 동적으로 설계한 LINQ 쿼리를 LINQ 팀에 의해 제공된 Dynamic Query Library 사용방법에 대해서 알아보죠.
Downloading the LINQ Dynamic Query Library
우선 dynamic query LINQ helper library 가 포함되어 있는 C#, VB 샘플 패키지가 VS 2008 Samples download page 에 있습니다. [바로가기]
VB 와 C# 다이나믹쿼리 샘플 에는 안정된 타입 언어 지시자 대신에 문자 입력을 가진 확장메소드를 이용하여 LINQ 쿼리를 빨리 하게끔 Helper library 를 구현한 소스가 포함되어 있습니다.
해당 프로젝트에 DynamicQuery 라이브러리의 C# 또는 VB 구현으로 복사/붙이기를 할 수 있습니다.
Simple Dynamic Query Library Example
BindGridTypeSafe() 메소드는 LINQ 형식으로 구현한 메소드이며, 안정된 형식의 타입으로 지시자를 이용하여 조건절, 정렬을 하여 GridView 서버 바인딩 컨트롤에 LINQ 쿼리문을 반영했습니다.
BindGridDynamic() 메소드는 위의 LINQ 의 구문과 비슷하지만, 비교를 하면 동적 쿼리가 MS-SQL 쿼리 문장과 동일하여 해석하는데 매우 쉽습니다. From 절의 생락과 string 문장형식으로 조건 및 정렬을 구현하고 있습니다.
Download and Run a Dynamic Query Library Sample
Visual Web Developer 2008 Express 나 VS 2008 로 실행 및 구현이 가능합니다.
실행화면 결과는 아래와 같습니다.
동영상으로 미리 보기 : http://sessions.visitmix.com/?selectedSearch=T24
감사합니다.
posted by 심재운