Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 17061|Odgovoriti: 0

[ASP.NET] Na osnovi. Razvoj triplastne arhitekture .LINQ do SQL

[Kopiraj povezavo]
Objavljeno na 8. 05. 2015 15:47:22 | | | |

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.






Prejšnji:Če že imate odprt DataReader, povezan s tem ukazom, ga morate najprej zapreti.
Naslednji:LINQ dobi problem z vrnitvijo vrednosti shranjene procedure
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com