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