#title Visual Studio 2008에서 LINQ 사용하기 == 예제 == Visual Studio 2008을 이용해 LINQ To SQL을 테스트하는 간단한 예제이다. === DataList 컨트롤에 바인딩하기 === 1. 테이블 생성, 여기서는 NickName 컬럼을 가진 Member라는 테이블을 사용한다. 1. 서버 탐색기(메뉴->보기->서버 탐색기)를 연 다음 DB서버 추가. 1. 솔루션 탐색기에서 추가->새 항목->데이터->LINQ to SQL 클래스 생성 1. 열려진 dbml 파일로 테이블을 끌어 넣고 저장한다. 1. 테스트할 aspx 페이지를 만든 다음 아래 태그를 넣는다. {{{#!vim aspx <%#Eval("nickname") %> }}} 1. CS 파일(Code Behind)를 열어 아래 코드를 넣는다. 앞서 만든 파일 이름이 DataClasses1.dbml 이면 {{{#!vim cs protected void Page_Load(object sender, EventArgs e){ DataClasses1DataContext db = new DataClasses1DataContext(); var query = from m in db.Member select m; Grid1.DataSource = query; Grid1.DataBind(); } }}} 1. 해당 aspx 페이지에서 "웹 브라우저로 보기"하여 테스트한다. === XML 파일로 만들기 === 다음 코드는 Linq에서 읽어들여 xml로 결과를 출력하는 예제이다. {{{#!vim cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.Linq; using System.Xml; using System.Xml.Linq; namespace WebApplication1 { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { DataClasses1DataContext db = new DataClasses1DataContext(); IEnumerable query = from m in db.Member select m; Response.Buffer = false; Response.Clear(); Response.ContentType = "application/xml"; using (XmlWriter writer = XmlWriter.Create(Response.OutputStream)) { XElement xmlRoot = new XElement("root"); foreach (DataClasses1_Member q in query) { XElement xmlMember = new XElement("member", new XAttribute("idx", q.idx), new XElement("nickname", q.nickname), new XElement("password", q.password), new XElement("description", q.DataClasses1_Community.name) //FK 관계의 경우 자동으로 컬렉션 등록되기 때문에 굳이 JOIN문을 이용할 필요가 없다. ); xmlRoot.Add(xmlMember); } xmlRoot.WriteTo(writer); Response.Flush(); } Response.End(); } } } }}} == 관련 문서 ==