cong nghe linq

Upload: motminhanh

Post on 17-Oct-2015

22 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/27/2018 Cong Nghe LinQ

    1/11

    Chuyn LinQ

    Tng Quan v LINQ1. Gii thiu v LINQ

    X l thng tin hay d liu l nhim v quan trng nht ca bt k phn m!m n" v m#ttr"ng nhng tr$ ng%i ch&nh m c'c nh ph't tri(n hin nay ph)i *+i m,t l kh'c bit giangn ng l-p tr.nh h/0ng *+i t/1ng v ngn ng truy vn d liu2 vn *! cng ph3c t%p h

    v0i 56 7ut hin ca X89 :;Xt;n5ibl; 8arkup 9anguag; < ngn ng *'nh du m$ r#ng=>LINQ l g ?

    ?( gi)m g'nh n,ng tha" t'c tr@n nhi!u ngn ng kh'c nhau v c)i thin nAng 5ut l-p tr.nhch" c'c l-p tr.nh vi@n2 8icr"5"Bt *C ph't tri(n gi)i ph'p t&ch h1p d liu >DEF Gram;H"rk cIt@n gi l 9JDK :9anguag; Jnt;grat;d Ku;ry=> ?Ly l th/ vin m$ r#ng ch" c'c ngn ng l-tr.nh MN v Oi5ual Pa5ic>DEF :cI th( m$ r#ng ch" c'c ngn ng kh'c= nhQm cung cp kh)nAng truy vn tr6c tiRp d liu SbT;ct2 c4 5$ d liu v X89>

    ?i(m m%nh ca 9JDK l UviRt truy vn ch" rt nhi!u c'c *+i t/1ng d liuV> FW c4 5$ d liX892 ata SbT;ct Y th-m ch& l viRt truy vn ch" m#t biRn m)ng *C t%" ra tr/0c *I> O. thRcI c'c kh'i nim nh/ l 9inK t" ZK92 9inK t" X892Y>

    M'c thnh phn ca 9JDK

    [.nh \> ]iRn tr^c ca 9JDK tr"ng >DEF Gram;H"rk _>`

    Pag

  • 5/27/2018 Cong Nghe LinQ

    2/11

    Chuyn LinQLINQ to Objects

    U9JDK t" SbT;ct5V $ *Ly cI ngha l nIi *Rn c'ch 5 dng 9JDK *+i v0i c'c *+i t/1ngM"ll;cti"n m *C */1c th6c thi gia" din JEnum;rabl; h",c JEnum;rabl;F t3c nhngM"ll;cti"n cI th( Ulit k@V ra */1c> ?Ly l tr/ng h1p 5 dng *4n gi)n nht ca 9JDK khilm vic v0i d liu>

    LINQ to SQL

    9JDK t" ZK9 l m#t phi@n b)n hin th6c hIa ca Sef8 :"bT;ct r;lati"nal mapping= cI b@ntr"ng >DEF Gram;H"rk _>`2 nI ch" php b%n m h.nh hIa m#t c4 5$ d liu dng c'c l0p>DEF> Zau *I b%n cI th( truy vn c4 5$ d liu dng 9JDK2 cng nh/ c-p nh-teth@me7Ia dliu tW *I>

    9JDK t" ZK9 hj tr1 *y * tran5acti"n2 vi;H v c'c 5t"r;d pr"c;dur; :Z=> DI cng cungcp m#t c'ch d dng *( th@m kh) nAng ki(m tra t&nh h1p l ca d liu v c'c quy tc vtr"ng m h.nh d liu ca b%n>

    LINQ to XML

    Z dng 9JDK v0i mc *&ch truy vn Bil; X89 v tin l1i truy vn h4n nhi!u 5" v0i vic dnXml"cum;nt2 Xpath v Xqu;ry nh/ tr/0c kia>

    LINQ to atasets

    i0i thiu 54 v! ataZ;tataZ;t tr"ng oS>DEF l m#t b/0c ph't tri(n l0n tr"ng vic ph't tri(n 3ng dng c4 5$ dliu *a h> ]hi ly v chnh 5a d liu2 duy tr. li@n tc kRt n+i t0i ata Z"urc; tr"ng khi ch

    u5;r :ng/i dng= y@u cu th. r rng l t+n ti nguy@n m'y rt nhi!u>ataZ;t gi^p &ch $ *Ly rt l0n> O. ataZ;t ch" php l/u tr d liu v chnh 5a t%i l"calcach;s2 hay gi l "BBlin; m"d;> MI th( 7;m 7t v 7 l thng tin tr"ng khi ngt kRt n+i> Zaukhi chnh 5a v 7;m 7"ng th. t%" m#t kRt n+i v updat; d liu tW l"cal v" ata Z"urc;> liu tr"ng ataZ;t */1c l/u tr d/0i d%ng m#t M"ll;cti"n c'c Fabl;5 v b%n cn ph)i 7l thng qua c'c l0p ataFabl; :ataf"H v ataM"lumn=>

    Pag

  • 5/27/2018 Cong Nghe LinQ

    3/11

    Chuyn LinQ

    [.nh > ]iRn tr^c ataZ;t>

    LINQ to ataSetch" php ng/i l-p tr.nh 5 dng ataZ;t5 nh/ m#t ngun d liu b.nhth/ng bQng c'c c^ ph'p truy vn cAn b)n ca 9JDK

    !"T N#I $"N %SL

    Oi;H Z;rv;r E7pl"r;r

    ]&ch ph)i chu#t l@n ataM"nn;cti"n odd M"nn;cti"n

    [.nh _> ]Rt n+i *Rn c4 5$ d liu>

    Pag

    http://khangtran.files.wordpress.com/2010/10/dataset.jpg
  • 5/27/2018 Cong Nghe LinQ

    4/11

    Chuyn LinQT&o 'a () h*nh +, -iu LINQ TO SQL

    [.nh w> F%" m h.nh 9inK t" ZK9>

    [.nh `> F%" m h.nh 9inK t" ZK9>

    Pag

  • 5/27/2018 Cong Nghe LinQ

    5/11

    Chuyn LinQM /0N/ N/ X2 %34 LINQ TO SQL

    56nh 7& %SL theo h8ng 9:i t8;ng 8 h.nh 'nh 7% 9inK t" ZK9>

    Pag

  • 5/27/2018 Cong Nghe LinQ

    6/11

    Chuyn LinQT=NG !I"N T>?% %34 LINQ TO SQL

    5-@ cAu n:i giao tiBC gi,a 4CC-ication v@ SQL Se've' Fng kiRn tr^c ca 9inK t" ZK9>

    MDt s: vE +F e(o

    LINQ TO 4T4ST

    ng *( truy vn2 5p 7Rp2 lc d liu2Ynhanh v d dng h4n

    [.nh z> 9c d liu th;" kh"a ca 9inK t" ataZ;t>

    thi5>vi;H{9inqt"ataZ;tFabl;odapt;r>Gill:thi5>dataZ;t{9inKt"data5;t>Oi;H{9inqt"ataZ;t2cbb]h"a>Z;l;ct;dOalu;>F"Ztring:==|

    Pag

  • 5/27/2018 Cong Nghe LinQ

    7/11

    Chuyn LinQ

    LINQ TO SQL

    SL%T

    O} [i(n th~ 9 b)ng ZinhOi;n

    dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v Br"m p in db>ZinhOi;n5

    5;l;ct p|

    O} [i(n th~ 9 b)ng ZinhOi;n :96a chn c#t hi(n th~=

    dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v Br"m p in db>ZinhOi;n5 5;l;ct n;H p>8aZO2 p>["ZO2 p>F;nZO|

    TaHeSHiC

    O} 9y mu tin *u ti@n tr"ng b)ng:9y 5inh vi@n *u ti@n tr"ng b)ng ZinhOi;n=>

    var 5inhvi;n5 :Br"m p in db>ZinhOi;n

    5;l;ct p=>Zkip:=>Fak;:\=| eeF/4ng */4ng ZE9EMF FS \ tr"ng ZK9

    O} F/4ng t6 tr@n2 nh/ng ly mu tin cu+i cng:5inh vi@n cu+i cng tr"ng b)ng ZinhOi;n=>var 5inhvi;n5 :Br"m p in db>ZinhOi;n

    "rd;rby p>8aZO d;5c;nding

    5;l;ct p=>Zkip:=>Fak;:\=|

    O} F/4ng t6 tr@n2 nh/ng ly mu tin th3 ` v x:5inh vi@n th3 ` v x tr"ng b)ng ZinhOi;n=

    var 5inhvi;n5 :Br"m p in db>ZinhOi;n

    5;l;ct p=>Zkip:w=>Fak;:=|O'+e'bJ

    O} Zp 7Rp gi)m dn th;" c#t t@n :m,c *~nh tAng dn=

    dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v Br"m p in db>ZinhOi;n5

    Pag

  • 5/27/2018 Cong Nghe LinQ

    8/11

    Chuyn LinQ "rd;rby p>F;nZO d;5c;nding

    5;l;ct n;H p>8aZO2 p>["ZO2 p>F;nZO|

    istinct5< KKLo&i b c6c ChAn t t'ng nhau

    O} Zp 7Rp gi)m dn th;" c#t t@n

    dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v :Br"m p in db>ZinhOi;n5

    5;l;ct n;H p>8aZO2 p>["ZO2 p>F;nZO=>i5tinct:=|

    he'e

    O} 9y *i!u kin th;" 8a]h"a

    dbataM"nt;7t db n;H dbataM"nt;7t:=|var 5v Br"m p in db>ZinhOi;n5

    Hh;r; p>8a]h"aMD

    5;l;ct n;H p>8aZO2 p>["ZO2 p>F;nZO|

    O} 9y *i!u kin th;" [ :chuji li@n quan *Rn=

    dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v Br"m p in db>ZinhOi;n5 Hh;r; p>["ZO>M"ntain5:UFrnU=

    5;l;ct n;H p>8aZO2 p>["ZO2 p>F;nZO|

    O} 9y *i!u kin th;" [ :k t6 *u ti@n=

    dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v Br"m p in db>ZinhOi;n5

    Hh;r; p>["ZO>Ztart5ith:UFU=5;l;ct n;H p>8aZO2 p>["ZO2 p>F;nZO|

    O} 9y *i!u kin th;" [ :k t6 cu+i=

    dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v Br"m p in db>ZinhOi;n5

    Hh;r; p>["ZO>End5ith:UyU=

    Pag

  • 5/27/2018 Cong Nghe LinQ

    9/11

    Chuyn LinQ 5;l;ct n;H p>8aZO2 p>["ZO2 p>F;nZO|

    Poin

    O} 9i@n kRt nhi!u b)ng

    dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v Br"m p in db>ZinhOi;n5

    T"in k in db>]h"a5

    "n p>8a]h"a ;qual5 k>8a]h"a

    5;l;ct n;H p>8aZO2 p>["ZO2 p>F;nZO2p>F;n]h"a|

    G'ouC

    O} DhIm d liu :F&nh tng hc bng th;" kh"a=dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v Br"m p in db>ZinhOi;n5

    T"in k in db>]h"a5

    "n p>8a]h"a ;qual5 k>8a]h"a

    gr"up p by p>]h"a>F;n]h"a int" kq

    5;l;ct n;H 8aZO kq>];y2F"ng[Pkq>Zum:tt>["cP"ng= |%% /M TRNG /

    O} 9i@n kRt nhi!u b)ng

    dbataM"nt;7t db n;H dbataM"nt;7t:=|

    var 5v Br"m p in db>ZinhOi;n5

    T"in k in db>]h"a5

    "n p>8a]h"a ;qual5 k>8a]h"agr"up p by p>]h"a>F;n]h"a int" kq

    5;l;ct n;H 8aZO kq>];y2F"ng[Pkq>Zum:tt>["cP"ng= |

    5;l;ct n;H 8aZO kq>];y2F"ng[Pkq> ov;rag;:tt>["cP"ng= |

    5;l;ct n;H 8aZO kq>];y2Z"9u"ngZOkq> M"unt:=|

    Pag

  • 5/27/2018 Cong Nghe LinQ

    10/11

    Chuyn LinQ5;l;ct n;H 8aZO kq>];y2F"ng[Pkq> 8a7:tt>["cP"ng= |

    5;l;ct n;H 8aZO kq>];y2F"ng[Pkq>8in:tt>["cP"ng= |

    ng *( Fh@m2 Za2 XIa2Y

    ThU( th)ng tin

    Inse'tOnSub(it5 Fh@m thng tin v" c4 5$ d liu>

    XVa th)ng tin

    e-eteOnSub(it5

  • 5/27/2018 Cong Nghe LinQ

    11/11

    Chuyn LinQ

    [.nh \> XIa thng tin tW c4 5$ d liu>

    %WC nhWt th)ng tin

    Sub(it%hanges5 M-p nh-t thng tin 7u+ng c4 5$ d liu>

    XIN T2M YNG Z $[\

    Page