|
Tull skrevet foran Basert på. Den tre-lags arkitekturen i .NET kan deles inn i følgende lag: Data Linq-laget, datatilgangslaget, forretningslogikklaget og presentasjonslaget. Pilsymbolene i figur 1 nedenfor illustrerer samspillet mellom lagene: datatilgangslaget refererer til Data LINQ-laget; Forretningslogikklaget refererer til dataaksesslaget og entitetsklassene i Data LINQ-laget. Presentasjonslaget refererer til forretningslogikklaget samt entitetsklassene i Data LINQ-laget. Data LINQ-laget inkluderer hovedsakelig entitetsklasser og datakontekstklasser. Vanligvis er en entitetsklasse for én tabell i databasen. Vi kan lage instanser av entitetsklasser som overføres mellom ulike lag som dataobjekter.
Figur 1 LINQ til SQL tre-lags arkitektur Følgende er et eksempel på innloggingsvinduet når man oppretter et prosjekt for å introdusere den tre-lags arkitekturutviklingen av LINQ til SQL Forberedelse 1. Først trenger du en database og en datatabell for å lagre brukernavn og passord til den innloggede personen. Her brukes en SQL Server 2005-database. Databasetabellstrukturen vises i figur 2.
Figur 2 Database-brukertabell 2. Åpne VS og lag et nytt prosjekt ---> andre prosjekttyper---> Visual Studio-løsninger---> blanke løsninger. Som vist i figur 3. (Visual Studio 2008 brukes her)
Figur 3 Lag en blank løsning 3. Legg til et klassebibliotek. Høyreklikk på den nyopprettede løsningen i Løsningsutforsker ---> legge til ---> nytt prosjekt ---> klassebiblioteket. Som vist i figur 4. Den samme metoden krever at man legger til tre biblioteker, BLL, DAL og DataLinq, samt en Windows Forms-applikasjon (hvis det er en webapplikasjonsutvikling, velg ASP.NET Webapplikasjon) og navngi den UI.
Figur 4 Legg til et bibliotekprosjekt Strukturen etter tillegg vises i figur 5. Samtidig høyreklikker du på UI-en og setter UI-en som startobjekt.
Figur 5 Prosjektstrukturdiagram Legg til et sitat I Løsningsutforsker, legg til referanser til hvert nivå. BLL-laget Velg referanser --->høyreklikk ---> legg til referanser. Som vist i figur 6. Legg til en referanse til System.Data.Linq. Samtidig, i henhold til forholdet mellom lagene vist i figur 1 ovenfor, legg til prosjektreferanser til DAL og DataLinq. På samme måte legger DAL-laget til prosjektreferanser til System.Data.Linq og DataLinq, DataLinq-laget legger til referanser til System.Data.Linq, og UI-laget legger til referanser til System.Data.Linq og prosjektreferanser til BLL og DataLinq.
Figur 6 Legg til prosjektreferanser Så langt er det etablert en tre-nivås arkitektur. Følgende er å legge til deres tilsvarende klasser til hvert lag. 1. Først, DataLinq-laget. Høyreklikk DataLinq---> legg til ---> nytt prosjekt---> velg LINQ til SQL-klassen, som vist i figur 7.
Figur 7 Legge til en LINQ i SQL-klassen 2. Etter at tilføyelsen er fullført, vil en tom designer (.dbml-fil) automatisk bli opprettet med en lenke til Server Explorer, samt den tilhørende dbml.layout-filen (XML-fil) og designer.cs fil. Åpne Server Explorer og etabler en kobling til databasen.
Figur 8 Open Server Explorer 3. Koble til databasen. Velg verktøyet ---> legge til database. Som vist i figur 9. Velg den nyopprettede databasen og bestem tilkoblingsdatabasen. På dette tidspunktet vil databasen vises i Server Explorer.
4. Velg datatabellbrukeren du vil bruke, dra og slipp den på designeren, som vist i figur 10 nedenfor. Lagre filen. Nå er DataContext-klasser og entitetsklasser med relaterte egenskaper, metoder og metoder automatisk generert.
Figur 10 Brukerklasse Legg til lag med kode DAL-laget Opprett en ny UserDAL-klasse og legg til følgende kode //UserDAL.cs ved bruk av DataLinq; ved bruk av System.Data.Linq;
navnerom DAL
{ offentlig klasse UserDAL { privat DataLinq.DBLinqDataContext objDataContext = ny DataLinq.DBLinqDataContext();
offentlig bruker SelectRecordByID (streng userid) { Prøv { return (fra u i objDataContext.User hvor u.Id == userid velg u). Enkelt(); } catch (Unntak f.eks.) { kast eks; } } }
}
BLL-laget Opprett en ny UserBLL-klasse og legg til følgende kode //UserBLL.cs ved bruk av System.Data.Linq; ved bruk av DataLinq;
navnerom BLL
{ offentlig klasse UserBLL { privat DAL. UserDAL objUserDAL = ny DAL. UserDAL();
offentlig bruker SelectRecordByID (streng userid) { return objUserDAL.SelectRecordByID(userid); } }
}
UI-lagkode //LoginForm.cs privat BLLL. UserBLL objUserBLL = ny BLL. UserBLL();
privat void btnSubmit_Click(objektavsender, EventArgs e) { string id = txtId.Text.Trim(); streng psd = txtPsd.Text.Trim();
Bruker localDataTable = objUserBLL.SelectRecordByID(id);
hvis (localDataTable != null && localDataTable.Psd == psd) { MessageBox.Show ("Suksess"); } ellers { MessageBox.Show("falsk"); } }
På dette tidspunktet er koden for innloggingsgrensesnittet fullført. Du kan kjøre det for å se effekten.
|