Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 17061|Atsakyti: 0

[ASP.NET] Remiantis . .LINQ į SQL trijų sluoksnių architektūros kūrimas

[Kopijuoti nuorodą]
Paskelbta 2015-05-08 15:47:22 | | | |

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ą.






Ankstesnis:Jei jau turite atidarytą DataReader, susietą su šia komanda, pirmiausia turite ją uždaryti.
Kitą:LINQ gauna saugomos procedūros grąžinimo vertės problemą mano saugoma procedūra
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com