LINQ to DataSet : LINQ for DataSet Objects






 DataSet 은 ADO.NET programming model 의 key element 이다. ADO.NET 에서 데이터베이스는 DataSet 클래스로 표현한다. DataSet 은 이름 그대로 데이터의 집합이며 테이블과 관계, 그 외 관리에 필요한 여러 가지 정보들로 구성된다. DataSet 은 ADO.NET의 주요 특징이라 할 수 있는 비연결 구조의 핵심이다. DataSet 은 메모리 내에 구현된 완벽한 데이터베이스이며 서버의 DB 전체에 대한 사본을 DataSet 객체 하나로 생성할 수 있다. 따라서 서버와 연결되지 않은 상태에서도 데이터를 검색하고 조작할 수 있는 것이다.

LINQ to DataSet 역시 In-Memory Collection 과 XML 문서를 쿼리한 방법을 동일하게 적용할 수 있다.






※ 실습 준비

1. SQL 2000 Samples DB
DB 테스트 할려면 DB가 있어야 하는데... 이건 MS에서 제공하는 무료 DB 이다.
http://www.microsoft.com/Downloads/details.aspx?FamilyID=06616212-0356-46a0-8da2-eebc53a68034&displaylang=en



설치시 특별하게 설정할 건 없다. 설치된 디렉토리의 경로는 C:\SQL Server 2000 Sample Databases 이다.


2. SQL Server2005 SSMSEE 설치
MS 다운로드 페이지의 설명을 빌리자면
" SSMSE(Microsoft SQL Server Management Studio Express)는 SQL Server 2005 Express Edition 및 SQL Server 2005 Express Edition with Advanced Services를 관리할 수 있는 사용이 용이한 무료 그래픽 관리 도구입니다. "
http://www.microsoft.com/downloads/details.aspx?FamilyID=6053c6f8-82c8-479c-b25b-9aca13141c9e&DisplayLang=ko



역시 특별히 설정해줄것은 없다. 역시 무료라...





< 프로그램 로드 시 DataSet 객체 생성 >
DataSet dataSet;
dataSet = new DataSet("Customers");




< DataSet 의 데이터 출력 >
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=.\sqlexpress;Initial Catalog=Northwind;Integrated Security=True";

SqlDataAdapter adt = new SqlDataAdapter("select * from Customers", con);
adt.Fill(dataSet);
dataGridView1.DataSource = dataSet.Tables[0];







< LINQ 를 사용한 데이터 출력 >
var query = from ord in dataSet.Tables[0].AsEnumerable()
                  where ord.Field("City") == textBox1.Text
                  select ord;
          
dataGridView1.DataSource = query.AsDataView();







< 소스 코드 >







이미지 출처 : FreeM Consulting Group.
http://www.msstudy.co.kr
Posted by six605
,