|
Nesmisel, napisano spredaj Na osnovi. Triplastno arhitekturo .NET lahko razdelimo na naslednje plasti: plast podatkovnega linqa, plast dostopa do podatkov, plast poslovne logike in plast predstavitev. Puščični simboli na spodnji sliki 1 prikazujejo interakcijo med plastmi: plast dostopa do podatkov se sklicuje na plast Data LINQ; Plast poslovne logike se sklicuje na plast dostopa do podatkov in razrede entitet v plasti Data LINQ. Predstavitvena plast se nanaša na poslovno logično plast ter na entitetne razrede v podatkovni LINQ plasti. Plast podatkovnega LINQ večinoma vključuje entitetne razrede in razrede podatkovnega konteksta. Običajno je razred entitete za eno tabelo v bazi podatkov. Lahko ustvarimo instance razredov entitet, ki se prenašajo med različnimi plastmi kot podatkovni objekti.
Slika 1 Trinivojska arhitektura LINQ v SQL Spodaj je primer prijavnega okna pri ustvarjanju projekta za uvedbo razvoja tri-nivojske arhitekture LINQ v SQL Pripravka 1. Najprej potrebujete podatkovno bazo in podatkovno tabelo za shranjevanje uporabniškega imena in gesla prijavljene osebe. Tukaj se uporablja baza podatkov SQL Server 2005. Struktura tabele baze podatkov je prikazana na sliki 2.
Slika 2 Uporabniška tabela baze podatkov 2. Odpri VS in ustvari nov projekt ---> drugih vrstah projektov---> rešitve Visual Studio---> prazne rešitve. Kot je prikazano na sliki 3. (Tukaj se uporablja Visual Studio 2008)
Slika 3 Ustvarite prazno rešitev 3. Dodajte knjižnico razredov. Desni klik na novo ustvarjeno rešitev v Solution Explorer ---> dodajte ---> novo knjižnico projektov ---> razredov. Kot je prikazano na sliki 4. Ista metoda zahteva dodajanje treh knjižnic, BLL, DAL in DataLinq, ter aplikacije Windows Forms (če gre za razvoj spletnih aplikacij, izberite ASP.NET spletno aplikacijo) in jo poimenujte UI.
Slika 4 Dodajte knjižnični projekt Struktura po dodatku je prikazana na sliki 5. Hkrati z desnim klikom na uporabniški vmesnik nastavite uporabniški vmesnik kot izstrelitveni predmet.
Slika 5 Diagram strukture projekta Dodaj citat V Solution Explorerju dodajte reference na vsako stopnjo. Izberi reference v BLL sloju --->desni klik ---> dodajanje referenc. Kot je prikazano na sliki 6. Dodajte referenco na System.Data.Linq. Hkrati pa, glede na razmerje med plastmi, prikazanimi na zgornji sliki 1, dodajte projektne reference na DAL in DataLinq. Na enak način plast DAL dodaja reference projektov za System.Data.Linq in DataLinq, plast DataLinq dodaja reference na System.Data.Linq, plast UI pa dodaja reference na System.Data.Linq in projektne reference na BLL in DataLinq.
Slika 6 Dodaj reference projektov Do zdaj je bila vzpostavljena triplastna arhitektura. Naslednje je, da se njihovi ustrezni razredi dodajo vsaki plasti. 1. Najprej plast DataLinq. Desni klik na DataLinq---> dodajte ---> nov projekt---> izberite razred LINQ v SQL, kot je prikazano na sliki 7.
Slika 7 Dodajanje LINQ v SQL razred 2. Po zaključku dodajanja se samodejno ustvari prazen oblikovalec (.dbml datoteka) s povezavo do Server Explorerja, pa tudi pripadajočo datoteko dbml.layout (XML datoteko) in designer.cs datoteko. Odprite Server Explorer in vzpostavite povezavo do baze podatkov.
Slika 8 Open Server Explorer 3. Povežite se z bazo podatkov. Izberite orodje ---> dodajanje baze podatkov. Kot je prikazano na sliki 9. Izberite novo ustvarjeno bazo podatkov in določite podatkovno bazo povezav. Na tej točki se baza podatkov prikaže v Server Explorerju.
4. Izberite uporabnika podatkovne tabele, ki ga želite uporabiti, ga povlecite in spustite na oblikovalca, kot je prikazano na spodnji sliki 10. Shrani datoteko. Zdaj so bili razredi DataContext in entitetni razredi s sorodnimi lastnostmi, metodami in metodami samodejno generirani.
Slika 10 Uporabniški razred Dodaj plasti kode DAL plast Ustvarite nov razred UserDAL in dodajte naslednjo kodo //UserDAL.cs z uporabo DataLinq; z uporabo System.Data.Linq;
imenski prostor DAL
{ javni razred UserDAL { private DataLinq.DBLinqDataContext objDataContext = new DataLinq.DBLinqDataContext();
javni User SelectRecordByID (string userid) { poskusi { return (iz u v objDataContext.User kjer u.Id == userid select u). Single(); } ulov (Izjema ex) { Vrzi Ex; } } }
}
BLL plast Ustvarite nov razred UserBLL in dodajte naslednjo kodo //UserBLL.cs z uporabo System.Data.Linq; z uporabo DataLinq;
imenski prostor BLL
{ javni razred UserBLL { vojak DAL. UserDAL objUserDAL = novi DAL. UserDAL();
javni User SelectRecordByID (string userid) { return objUserDAL.SelectRecordByID(userid); } }
}
Koda na plasti uporabniškega vmesnika //LoginForm.cs vojak BLL. UserBLL objUserBLL = novi BLL. UserBLL();
private void btnSubmit_Click(object sender, EventArgs e) { string id = txtId.Text.Trim(); string psd = txtPsd.Text.Trim();
User localDataTable = objUserBLL.SelectRecordByID(id);
if (localDataTable != null && localDataTable.Psd == psd) { MessageBox.Show ("Uspeh"); } else { MessageBox.Show ("false"); } }
Na tej točki je koda za prijavni vmesnik dokončana. Lahko ga zaženeš, da vidiš učinek.
|