2008. 12. 18. 17:37

MS LINQ 란??

LINQ 하나로 모든 데이터 (DataSet 이나 SQL 같은 데이터베이스, XML, 일반 .NET 개체) 를 통일된 문법으로 쿼리할 수 있다.

LINQ 를 기능적으로 분류하면 다음과 같다.
▶ LINQ to Objects
▶ LINQ to XML
▶ LINQ to DataSet
▶ LINQ to SQL

.NET 개체나 XML, 데이터베이스에서 데이터를 통합된 문법을 조회할 수 있도록 해 주는게 LINQ (Language Integrated Query) 다.

VS 2008의 IDE에서 보면,  LINQ to SQL이라는 클래스 템플릿이 제공 된다.
해당 파일을 생성한 후, 서버탐색기에서 Table 혹은 SP에 대해서 드래그 앱 드랍시, 자동으로 클래스가 생성되어지는데, 해당 클래스에서 리턴되는 DataContext 녀석을 DataSouce로 사용하게 된다.

Table에  relation을 준 후,  Join을 했을경우, Auto Generate 된 코드를 보면 여러개의 테이블 및 컬럼에 대한 정보를 담고 있는 것을 확인 할수 있습니다. 
그런데, SP의 경우 멀티셋을 리턴하는 케이스에서는 첫번째 Select 에 대해서만 Generate 되는것을 볼수 있다. 물론, sqlMetal이라는 유틸을 통해서 가능하겠지만...