|
Ees kirjutatud Põhineb sellel. .NET kolmetasandiline arhitektuur jaguneb järgmisteks kihtideks: Data Linq kiht, andmejuurdepääsukiht, äriloogika kiht ja esitluskiht. Alloleval joonisel 1 olevad noolesümbolid illustreerivad kihtidevahelist vastastikmõju: andmejuurdepääsukiht viitab Data LINQ kihile; Äriloogika kiht viitab andmejuurdepääsu kihile ja entiteedi klassidele Data LINQ kihis. Esitluskiht viitab äriloogika kihile ning Data LINQ kihi entiteediklassidele. Data LINQ kiht hõlmab peamiselt entiteediklasse ja Data Context klasse. Tavaliselt on entiteetklass ühe tabeli jaoks andmebaasis. Saame luua entiteetklasside eksemplare, mis kantakse erinevate kihtide vahel andmeobjektidena.
Joonis 1 LINQ-st SQL-i kolmekihiline arhitektuur Järgnevalt on näide sisselogimisaknast projekti loomisel, et tutvustada LINQ-i kolmetasandilist arhitektuuri arendust SQL-ile Ettevalmistus 1. Esiteks on vaja andmebaasi ja andmetabelit, kuhu salvestada sisse logitud isiku kasutajanimi ja parool. Siin kasutatakse SQL Server 2005 andmebaasi. Andmebaasitabeli struktuur on näidatud joonisel 2.
Joonis 2 Andmebaasi kasutajatabel 2. Ava VS ja loo uus projekt ---> teised projektitüübid---> Visual Studio lahendused---> tühjad lahendused. Nagu näidatud joonisel 3. (Siin kasutatakse Visual Studio 2008)
Joonis 3 Loo tühi lahendus 3. Lisa klassi raamatukogu. Paremklõpsuga äsja loodud lahendusel Solution Exploreris ---> lisa ---> uus projekt ---> klassiteek. Nagu näidatud joonisel 4. Sama meetod nõuab kolme raamatukogu – BLL, DAL ja DataLinq – lisamist ning Windows Forms rakenduse (kui tegemist on veebirakenduse arendusega, vali ASP.NET veebirakendus) ja nimeta see kasutajaliideseks.
Joonis 4 Lisa raamatukoguprojekt Struktuuri pärast liitmist on näidatud joonisel 5. Samal ajal tee kasutajaliidesel paremklõps ja määra kasutajaliides käivitusesemeks.
Joonis 5 Projekti struktuuri skeem Lisa tsitaat Lahenduste halduris lisa igale tasemele viited. BLL kiht Select References --->paremklõps ---> lisa viited. Nagu näidatud joonisel 6. Lisa viide lehele System.Data.Linq. Samas, vastavalt joonisel 1 näidatud kihtide omavahelisele seosele, lisa projektiviited DAL-ile ja DataLinq-ile. Samamoodi lisab DAL-kiht projektiviited System.Data.Linq ja DataLinq platvormidele, DataLinq kiht lisab viited System.Data.Linq-le ning UI kiht lisab viited System.Data.Linq-ile ning projektiviited BLL-ile ja DataLinq-ile.
Joonis 6 Lisa projekti viited Siiani on loodud kolmetasandiline arhitektuur. Järgnevalt lisatakse igale kihile nende vastavad klassid. 1. Esiteks DataLinq kiht. Paremklõpsa DataLinq---> lisa ---> uus projekt---> vali LINQ to SQL klass, nagu näidatud joonisel 7.
Joonis 7 LINQ lisamine SQL-klassile 2. Pärast lisamise lõpetamist luuakse automaatselt tühi disainer (.dbml fail) koos lingiga Server Explorerile, samuti seotud dbml.layout failile (XML-fail) ja designer.cs failile. Ava Server Explorer ja loo link andmebaasile.
Joonis 8 Avatud serveri uurija 3. Ühendu andmebaasiga. Vali tööriist ---> lisa andmebaas. Nagu näidatud joonisel 9. Vali äsja loodud andmebaas ja määra ühendusandmebaas. Sel hetkel ilmub andmebaas Server Exploreris.
4. Valige andmetabel, mida soovite kasutada, lohista ja viska see disainerile, nagu näidatud alloleval joonisel 10. Salvesta fail. Nüüd on automaatselt genereeritud DataContext klassid ja entiteediklassid seotud omaduste, meetodite ja meetoditega.
Joonis 10 Kasutajaklass Lisa koodikihid DAL-kiht Loo uus UserDAL klass ja lisa järgmine kood //UserDAL.cs kasutades DataLinqi; kasutades System.Data.Linq;
nimeruum DAL
{ public class UserDAL { private DataLinq.DBLinqDataContext objDataContext = uus DataLinq.DBLinqDataContext();
public User SelectRecordByID (string userid) { proovi { return (u-st objDataContext.User failis, kus u.Id == userid vali u). Single(); } catch (Exception ex) { viska ex; } } }
}
BLL kiht Loo uus UserBLL klass ja lisa järgmine kood //UserBLL.cs kasutades System.Data.Linq; kasutades DataLinqi;
nimeruum BLL
{ public class UserBLL { privaatne DAL. UserDAL objUserDAL = uus DAL. UserDAL();
public User SelectRecordByID (string userid) { return objUserDAL.SelectRecordByID(userid); } }
}
UI kihi kood //LoginForm.cs privaatne BLL. UserBLL objUserBLL = uus BLL. UserBLL();
privaatne void btnSubmit_Click(objekti saatja, EventArgs e) { string id = txtId.Text.Trim(); string psd = txtPsd.Text.Trim();
Kasutaja localDataTable = objUserBLL.SelectRecordByID(id);
if (localDataTable != null && localDataTable.Psd == psd) { MessageBox.Show ("Edu"); } else { MessageBox.Show ("vale"); } }
Sel hetkel on sisselogimisliidese kood valmis. Sa võid selle käivitada, et näha mõju.
|