Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 17061|Svare: 0

[ASP.NET] Basert på. .LINQ til SQL tre-lags arkitekturutvikling

[Kopier lenke]
Publisert på 08.05.2015 15:47:22 | | | |

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.






Foregående:Hvis du allerede har en åpen DataReader tilknyttet denne kommandoen, må du først lukke den.
Neste:LINQ får problemet med lagret prosedyre returnere verdi i min lagrede prosedyre
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com