블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
반응형

Category

Recent Post

Recent Comment

Archive

2009. 9. 30. 16:40 .Net Project/ADO.NET 3.5
반응형

 

LINQ To SQL 
- 관계형 데이터를 개체로 관리하는 런타임 인프라를 제공합니다.
- Linq To Sql에서 관계형 데이터베이스의 데이터 모델은 개발자의 프로그래밍 언어로 표현
  된 개체 모델로 매핑 됩니다. 
- 응용 프로그램을 실행하면 Linq to SQL에서는 개체 모델의 언어 통합 쿼리를 SQL로 변환
  하여 실행을 위해 데이터베이스로 전송합니다. 
- 데이터베이스에서는 결과를 반환하면 Linq to SQL에서 해당 결과를 사용자가 조작 가능 

Program.Cs
---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Linq;
using System.Data.Linq.Mapping;

namespace WinLinqToSQL
{
    /// <summary>
    /// Addressbook 테이블과 일대일 매칭되는 클래스 생성 
    /// </summary>
    //Table 특성을 사용해서 테이블로 보자
    [Table(Name="AddressBook")] 
    class AddressBook
    {
        private int _Num;
        [Column(IsPrimaryKey=true, Storage="_Num")]
        public int Num   //Num속성은 Num컬럼과 매칭, 기본키 설정
        {
            get { return _Num;}
            set {_Num = value;}
       }
----------------------------------------------------------------------
        private string _Name;
        [Column(IsPrimaryKey = true, Storage = "_Name")]
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
----------------------------------------------------------------------
        private string _Mobile;
        [Column(IsPrimaryKey = true, Storage = "_Mobile")]
        public string Mobile
        {
            get { return _Mobile; }
            set { _Mobile = value; }
        }
----------------------------------------------------------------------------
        private string _Email;
        [Column(IsPrimaryKey = true, Storage = "_Email")]
        public string Email
        {
            get { return _Email; }
            set { _Email = value; }
        }

    }
}

 WinLinqToSQL.Form
----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.Linq;

namespace WinLinqToSQL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            //초기화자
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Display(); //함수호출
        }

        private void Display()
        {
            // 출력
            // Linq to SQL방법으로 Table과 동일한 구조의
            // Entity 클래스가 만들어졌다면..
            // [1]
            DataContext context = new DataContext

DataContext : CLR(공용 언어 런타임) 개체의 속성인 바인딩을
                   사용하여 해당 개체 직접 설정 가능

XAML에서 Binding선언으로 설정되며, 속성 요소 구문이나
특성 구문을 사용 가능 합니다.

그리고, 코드에서 DataContext 설정 할 수 도 있습니다.
  
("server=.;database=AddressBook;uid=AddressBook;pwd=1234;");

     //[2] Context의 GetTable<T> 팩터리 메서드로 테이블 매핑해서 가져오기 
          Table<AddressBook> addr = context.GetTable<AddressBook>();

            //[3] LINQ Query 날리기
            var q = from a in addr
                    select a;
           
            //[4]출력
            foreach (var item in q)
            {
                listBox1.Items.Add(item.Name + "," + item.Mobile);
            }
        }
    }
}









반응형
posted by Magic_kit