Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 17061|Svar: 0

[ASP.NET] Baserat på. .LINQ till SQL trelagersarkitekturutveckling

[Kopiera länk]
Publicerad på 2015-05-08 15:47:22 | | | |

Nonsens skrivet framför

Baserat på. Den tre-nivåarkitekturen i .NET kan delas in i följande lager: Data Linq-lager, dataåtkomstlager, affärslogiklager och presentationslager. Pilsymbolerna i figur 1 nedan illustrerar interaktionen mellan lagren: dataåtkomstlagret refererar till Data LINQ-lagret; Affärslogiklagret refererar till dataåtkomstlagret och entitetsklasserna i Data LINQ-lagret. Presentationslagret avser affärslogiklagret samt entitetsklasserna i Data LINQ-lagret.

Data LINQ-lagret inkluderar främst entitetsklasser och Data Context-klasser. Vanligtvis är en entitetsklass för en tabell i databasen. Vi kan skapa instanser av entitetsklasser som överförs mellan olika lager som dataobjekt.

        Figur 1 LINQ till SQL tre-nivåarkitektur

Följande är ett exempel på inloggningsfönstret när man skapar ett projekt för att introducera den trestegsarkitekturen som LINQ utvecklar till SQL

Förberedelse

1. Först behöver du en databas och en datatabell för att lagra användarnamn och lösenord till den inloggade personen. Här används en SQL Server 2005-databas. Databasens tabellstruktur visas i Figur 2.

Figur 2 Databasanvändartabell

2. Öppna VS och skapa ett nytt projekt ---> andra projekttyper---> Visual Studio-lösningar---> tomma lösningar. Som visas i Figur 3. (Visual Studio 2008 används här)


Figur 3 Skapa en tom lösning

3. Lägg till ett klassbibliotek. Högerklicka på den nyskapade lösningen i Lösningsutforskaren ---> lägga till ---> nytt projekt ---> klassbiblioteket. Som visas i Figur 4. Samma metod kräver att man lägger till tre bibliotek, BLL, DAL och DataLinq, samt en Windows Forms-applikation (om det är en webbapplikationsutveckling, välj ASP.NET webbapplikation) och namnge den UI.


Figur 4 Lägg till ett biblioteksprojekt

Strukturen efter tillägget visas i Figur 5. Samtidigt, högerklicka på UI:t och ställ in UI:t som startobjekt.


Figur 5 Projektstrukturdiagram

Lägg till ett citat

I Solution Explorer lägger du till referenser till varje nivå. BLL lager Välj referenser --->högerklicka ---> lägg till referenser. Som visas i figur 6. Lägg till en referens till System.Data.Linq. Samtidigt, enligt relationen mellan lagren som visas i figur 1 ovan, lägg till projektreferenser till DAL och DataLinq. På samma sätt lägger DAL-lagret till projektreferenser till System.Data.Linq och DataLinq, DataLinq-lagret lägger till referenser till System.Data.Linq, och UI-lagret lägger till referenser till System.Data.Linq och projektreferenser till BLL och DataLinq.


Figur 6 Lägg till projektreferenser

Hittills har en trestegsarkitektur etablerats. Följande är att lägga till deras motsvarande klasser i varje lager.

1. Först, DataLinq-lagret. Högerklicka på DataLinq---> lägg till ---> nytt projekt---> välj klassen LINQ till SQL, som visas i figur 7.


Figur 7 Att lägga till en LINQ i SQL-klassen

2. När tillägget är klart skapas automatiskt en tom designer (.dbml-fil) med en länk till Server Explorer, samt tillhörande dbml.layout-filen (XML-fil) och designer.cs fil. Öppna Server Explorer och skapa en länk till databasen.


Figur 8 Open Server Explorer

3. Koppla upp dig mot databasen. Välj verktyget ---> lägga till databas. Som visas i Figur 9. Välj den nyskapade databasen och bestäm anslutningsdatabasen. Vid denna punkt kommer databasen att visas i Server Explorer.


4. Välj den datatabellsanvändare du vill använda, dra och släpp den på designern, som visas i figur 10 nedan. Spara filen. Nu har DataContext-klasser och entitetsklasser med relaterade egenskaper, metoder och metoder automatiskt genererats.


Figur 10 Användarklass

Lägg till lager av kod

DAL-lagret

Skapa en ny UserDAL-klass och lägg till följande kod

//UserDAL.cs

med DataLinq;
med System.Data.Linq;

namnrymden DAL
{
    offentlig klass UserDAL
    {
        privat DataLinq.DBLinqDataContext objDataContext = ny DataLinq.DBLinqDataContext();

        publik Användare SelectRecordByID (sträng userid)
        {
            Försök
            {
                return (från u i objDataContext.User där u.Id == userid välj u). Singel();
            }
            catch (Undantag t.ex.)
            {
                Kasta ex;
            }
        }
    }
}

BLL-lagret

Skapa en ny UserBLL-klass och lägg till följande kod

//UserBLL.cs

med System.Data.Linq;
med DataLinq;

namnrymd BLL
{
    publik klass UserBLL
    {
        privat DAL. UserDAL objUserDAL = ny DAL. UserDAL();

        publik Användare SelectRecordByID (sträng userid)
        {
            return objUserDAL.SelectRecordByID(userid);
        }
    }
}

UI-lagerkod

//LoginForm.cs

privat BLL. UserBLL objUserBLL = ny BLL. UserBLL();
      
        privat tomrum btnSubmit_Click(objektavsändare, EventArgs e)
        {
            string id = txtId.Text.Trim();
            sträng psd = txtPsd.Text.Trim();

            User localDataTable = objUserBLL.SelectRecordByID(id);

            om (localDataTable != null && localDataTable.Psd == psd)
            {
                MessageBox.Show ("Framgång");
            }
            annars
            {
                MessageBox.Show("falsk");
            }
        }

Vid denna punkt är koden för inloggningsgränssnittet komplett. Du kan köra det för att se effekten.






Föregående:Om du redan har en öppen DataReader kopplad till detta kommando måste du först stänga den.
Nästa:LINQ får problem med lagrad procedur returnera värde min lagrade procedur
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com