|
Nesąmonė parašyta priekyje Remiantis . Trijų pakopų .NET architektūrą galima suskirstyti į šiuos sluoksnius: Data Linq sluoksnį, duomenų prieigos sluoksnį, verslo logikos sluoksnį ir pristatymo sluoksnį. Rodyklių simboliai 1 paveiksle iliustruoja sluoksnių sąveiką: duomenų prieigos sluoksnis nurodo duomenų LINQ sluoksnį; Verslo logikos sluoksnis nurodo duomenų prieigos sluoksnį ir objektų klases duomenų LINQ sluoksnyje. Pristatymo sluoksnis nurodo verslo loginį sluoksnį ir objektų klases duomenų LINQ sluoksnyje. Duomenų LINQ sluoksnis daugiausia apima objektų klases ir duomenų konteksto klases. Paprastai objekto klasė skirta vienai duomenų bazės lentelei. Galime sukurti objektų klasių egzempliorius, kurie perkeliami tarp skirtingų sluoksnių kaip duomenų objektai.
1 pav. LINQ į SQL trijų pakopų architektūra Toliau pateikiamas prisijungimo lango pavyzdys kuriant projektą, skirtą pristatyti trijų pakopų LINQ architektūros kūrimą SQL Paruošimas 1. Pirmiausia jums reikia duomenų bazės ir duomenų lentelės, kad galėtumėte saugoti prisijungusio asmens vartotojo vardą ir slaptažodį. Čia naudojama SQL Server 2005 duomenų bazė. Duomenų bazės lentelės struktūra parodyta 2 paveiksle.
2 pav. Duomenų bazės vartotojų lentelė 2. Atidarykite VS ir sukurkite naują projektą ---> kitų tipų projektus---> "Visual Studio" sprendimus---> tuščius sprendimus. Kaip parodyta 3 paveiksle. (Čia naudojama "Visual Studio 2008")
3 pav. Tuščio sprendimo kūrimas 3. Pridėkite klasės biblioteką. Dešiniuoju pelės mygtuku spustelėkite naujai sukurtą sprendimą sprendimų naršyklėje ---> įtraukite ---> naują projektą ---> klasės biblioteką. Kaip parodyta 4 paveiksle. Tam pačiam metodui reikia pridėti tris bibliotekas, BLL, DAL ir DataLinq, ir "Windows Forms" programą (jei tai žiniatinklio programos kūrimas, pasirinkite ASP.NET žiniatinklio programa) ir pavadinkite ją vartotojo sąsaja.
4 pav. Bibliotekos projekto įtraukimas Struktūra po pridėjimo parodyta 5 paveiksle. Tuo pačiu metu dešiniuoju pelės mygtuku spustelėkite vartotojo sąsają ir nustatykite vartotojo sąsają kaip paleidimo elementą.
5 pav. Projekto struktūros schema Pasiūlymo įtraukimas Sprendimų naršyklėje įtraukite nuorodas į kiekvieną pakopą. BLL sluoksnis Pasirinkite Nuorodos --->dešiniuoju pelės mygtuku spustelėkite ---> įtraukite nuorodas. Kaip parodyta 6 paveiksle. Įtraukite nuorodą į System.Data.Linq. Tuo pačiu metu, atsižvelgiant į ryšį tarp sluoksnių, parodytų 1 paveiksle, pridėkite projekto nuorodas į DAL ir DataLinq. Lygiai taip pat DAL sluoksnis prideda projekto nuorodas į System.Data.Linq ir DataLinq, DataLinq sluoksnis prideda nuorodas į System.Data.Linq, o vartotojo sąsajos sluoksnis prideda nuorodas į System.Data.Linq ir projekto nuorodas į BLL ir DataLinq.
6 pav. Projekto nuorodų įtraukimas Iki šiol buvo sukurta trijų pakopų architektūra. Toliau reikia pridėti atitinkamas klases prie kiekvieno sluoksnio. 1. Pirma, "DataLinq" sluoksnis. Dešiniuoju pelės mygtuku spustelėkite DataLinq---> pridėkite ---> naują projektą---> pasirinkite LINQ į SQL klasę, kaip parodyta 7 paveiksle.
7 pav. LINQ pridėjimas prie SQL klasės 2. Baigus papildymą, bus automatiškai sukurtas tuščias dizaino įrankis (.dbml failas) su nuoroda į serverio naršyklę, taip pat susietas dbml.layout failas (XML failas) ir designer.cs failas. Atidarykite "Server Explorer" ir sukurkite saitą su duomenų baze.
8 pav. Atidarykite serverio naršyklę 3. Prisijunkite prie duomenų bazės. Pasirinkite įrankį ---> pridėti duomenų bazę. Kaip parodyta 9 paveiksle. Pasirinkite naujai sukurtą duomenų bazę ir nustatykite ryšio duomenų bazę. Šiuo metu duomenų bazė bus rodoma serverio naršyklėje.
4. Pasirinkite duomenų lentelę Vartotojas, kurį norite naudoti, vilkite ir numeskite jį į dizaino įrankį, kaip parodyta 10 paveiksle žemiau. Išsaugokite failą. Dabar automatiškai sugeneruotos "DataContext" klasės ir objektų klasės su susijusiomis ypatybėmis, metodais ir metodais.
10 pav. Vartotojo klasė Kodo sluoksnių įtraukimas DAL sluoksnis Sukurkite naują UserDAL klasę ir pridėkite šį kodą //UserDAL.cs naudojant "DataLinq"; naudojant System.Data.Linq;
vardų sritis DAL
{ viešoji klasė UserDAL { privatus DataLinq.DBLinqDataContext objDataContext = naujas DataLinq.DBLinqDataContext();
viešasis vartotojas SelectRecordByID(eilutės vartotojo ID) { Pabandykite { return (iš u objDataContext.User kur u.Id == userid select u). Vienvietis (); } laimikis (išimtis ex) { mesti ex; } } }
}
BLL sluoksnis Sukurkite naują UserBLL klasę ir pridėkite šį kodą //UserBLL.cs naudojant System.Data.Linq; naudojant "DataLinq";
vardų srities BLL
{ viešoji klasė UserBLL { privatus DAL. UserDAL objUserDAL = naujas DAL. UserDAL();
viešasis vartotojas SelectRecordByID(eilutės vartotojo ID) { grąžinti objUserDAL.SelectRecordByID(userid); } }
}
Vartotojo sąsajos sluoksnio kodas //LoginForm.cs privatus BLL. UserBLL objUserBLL = naujas BLL. UserBLL();
privatus void btnSubmit_Click(objekto siuntėjas, EventArgs e) { eilutės id = txtId.Text.Trim(); eilutė psd = txtPsd.Text.Trim();
Vartotojas localDataTable = objUserBLL.SelectRecordByID(id);
if (localDataTable != null && localDataTable.Psd == psd) { MessageBox.Show("Sėkmė"); } kitaip { MessageBox.Show("klaidingas"); } }
Šiuo metu prisijungimo sąsajos kodas yra baigtas. Galite jį paleisti, kad pamatytumėte efektą.
|