LINQ to SQL
LINQ는 Language Integrated Query의 약자로서 C# 3.0 (.NET 3.0)에 소개된 기능이다. LINQ는 간략한 수식(Expression)을 사용하여 데이타소스 혹은 컬렉션으로부터 데이타를 핸들링하는데 사용된다. 어떤 데이타를 대상으로 하는가에 따라 .NET Object를 대상으로 하는 LINQ to Objects, XML을 대상으로 하는 LINQ to XML, 그리고 SQL DB를 대상으로하는 LINQ to SQL, 그리고 기타 LINQ to DataSet, LINQ to Entities 등 여러 가지로 나눌 수 있다. LINQ를 사용하기 위해서는 System.Linq 네임스페이스를 추가해야 한다.
LINQ to SQL 사용 - .dbml 만들기
LINQ to SQL을 사용하기 위해 가장 먼저하는 일은 .DBML 파일(일종의 XML)을 작성하는 것이다. 이를 위해 프로젝트에서 새 아이템 추가를 누르고, Data 템플릿 카타고리를 선택한 후, [LINQ to SQL Classes] 아이템을 선택한다. 이 아이템 선택후 아래 .dbml 파일명을 적어 주는데, 이 파일명으로 Linq 클래스를 만들기 때문에 의미있는 이름으로 한다.
LINQ to SQL 사용 - Table, Stored Procedure 추가
DBML (Database Markup Language) 아이템을 생성하면, 그림과 같이 서버 탐색기(Server Explorer)로부터 테이블이나 저장 프로시져(Stored Procedure)를 끌어 놓을 수 있는 패널이 생긴다. Server Explorer에서 SQL 연결을 추가하기 위해서는, Data Connections 노드에서 Rightclick하며 Add Connection을 선택하면 서버연결을 위한 Dialog가 나온다. 이렇게 연결을 추가한 후, 테이블이나 Stored Procedure를 Drag and Drop하여 .dbml 패널에 넣으면 VS가 알아서 DBML안에 XML을 생성해 준다. .dbml 패널은 2개로 나뉘어져 있는데, 왼쪽에는 Table이나 View를 넣고, 오른쪽에는 Stored Procedure나 Function등을 넣는다. .dbml을 저장하면, VS는 DBML XML을 기초로 하여 LINQ에서 사용될 클래스들을 만들어 .designer.cs 파일에 저장한다.