|
Onzin geschreven voor de voorkant Gebaseerd op. De drielaagse architectuur van .NET kan worden onderverdeeld in de volgende lagen: Data Linq-laag, data-toegangslaag, bedrijfslogica-laag en presentatielaag. De pijltekens in Figuur 1 hieronder illustreren de interactie tussen de lagen: de data-toegangslaag verwijst naar de Data LINQ-laag; De business logica-laag verwijst naar de data-toegangslaag en de entiteitsklassen in de Data LINQ-laag. De presentatielaag verwijst naar de business logica-laag evenals naar de entiteitsklassen in de Data LINQ-laag. De Data LINQ-laag bevat voornamelijk entiteitsklassen en Data Context-klassen. Typisch is een entiteitsklasse voor één tabel in de database. We kunnen instanties van entiteitsklassen creëren die tussen verschillende lagen worden overgedragen als dataobjecten.
Figuur 1 LINQ naar SQL drie-lagige architectuur Het volgende is een voorbeeld van het inlogvenster bij het aanmaken van een project om de drielaagse architectuurontwikkeling van LINQ in SQL te introduceren Voorbereiding 1. Eerst heb je een database en een datatabel nodig om de gebruikersnaam en het wachtwoord van de ingelogde persoon op te slaan. Hier wordt een SQL Server 2005-database gebruikt. De structuur van de databasetabel is weergegeven in Figuur 2.
Figuur 2 Database Gebruikerstabel 2. Open VS en maak een nieuw project aan ---> andere projecttypes---> Visual Studio-oplossingen---> lege oplossingen. Zoals te zien is in Figuur 3. (Visual Studio 2008 wordt hier gebruikt)
Figuur 3 Maak een blanco oplossing 3. Voeg een klasbibliotheek toe. Klik met de rechtermuisknop op de nieuw aangemaakte oplossing in Solution Explorer ---> voeg ---> nieuw project toe ---> klasbibliotheek. Zoals getoond in Figuur 4. Dezelfde methode vereist het toevoegen van drie bibliotheken, BLL, DAL en DataLinq, en een Windows Forms-applicatie (als het een webapplicatieontwikkeling is, selecteer dan ASP.NET webapplicatie) en noem deze UI.
Figuur 4 Voeg een bibliotheekproject toe De structuur na de toevoeging is weergegeven in Figuur 5. Klik tegelijkertijd met de rechtermuisknop op de UI en stel de UI in als startitem.
Figuur 5 Projectstructuurdiagram Voeg een citaat toe Voeg in Solution Explorer referenties toe aan elke tier. BLL laag Selecteer Referenties --->rechtsklik ---> voeg referenties toe. Zoals getoond in Figuur 6. Voeg een referentie toe aan System.Data.Linq. Tegelijkertijd voegen we volgens de relatie tussen de lagen die in Figuur 1 hierboven worden getoond, projectreferenties toe aan DAL en DataLinq. Op dezelfde manier voegt de DAL-laag projectreferenties toe aan System.Data.Linq en DataLinq, voegt de DataLinq-laag referenties toe aan System.Data.Linq, en voegt de UI-laag referenties toe aan System.Data.Linq en projectreferenties aan BLL en DataLinq.
Figuur 6 Voeg projectreferenties toe Tot nu toe is er een drielaagse architectuur vastgesteld. Het volgende is om hun overeenkomstige klassen aan elke laag toe te voegen. 1. Eerst de DataLinq-laag. Klik met de rechtermuisknop op DataLinq---> voeg ---> nieuw project toe---> selecteer de LINQ to SQL-klasse, zoals weergegeven in Figuur 7.
Figuur 7 Een LINQ toevoegen aan de SQL-klasse 2. Nadat de toevoeging is voltooid, wordt automatisch een blanco designer (.dbml-bestand) aangemaakt met een link naar Server Explorer, evenals het bijbehorende dbml.layout-bestand (XML-bestand) en designer.cs bestand. Open Server Explorer en maak een link met de database.
Figuur 8 Open Server Explorer 3. Verbind met de database. Selecteer het gereedschap ---> database toevoegen. Zoals te zien in Figuur 9. Selecteer de nieuw aangemaakte database en bepaal de verbindingsdatabase. Op dit punt verschijnt de database in Server Explorer.
4. Selecteer de datatabelgebruiker die je wilt gebruiken, sleep en drop deze op de ontwerper, zoals weergegeven in Figuur 10 hieronder. Sla het bestand op. Nu zijn DataContext-klassen en entiteitsklassen met gerelateerde eigenschappen, methoden en methoden automatisch gegenereerd.
Figuur 10 Gebruikersklasse Voeg lagen code toe DAL-laag Maak een nieuwe UserDAL-klasse aan en voeg de volgende code toe //UserDAL.cs met DataLinq; met behulp van System.Data.Linq;
naamruimte DAL
{ publieke klasse UserDAL { private DataLinq.DBLinqDataContext objDataContext = nieuwe DataLinq.DBLinqDataContext();
publieke Gebruiker SelectRecordByID (string userid) { Probeer het { return (van u in objDataContext.User waar u.Id == userid selecteer u). Single(); } vangen (Uitzondering bijv.) { Gooi ex; } } }
}
BLL-laag Maak een nieuwe UserBLL-klasse aan en voeg de volgende code toe //UserBLL.cs met behulp van System.Data.Linq; met DataLinq;
naamruimte BLL
{ publieke klasse UserBLL { privé DAL. UserDAL objUserDAL = nieuwe DAL. UserDAL();
publieke Gebruiker SelectRecordByID (string userid) { return objUserDAL.SelectRecordByID(userid); } }
}
UI-laagcode //LoginForm.cs privé BLL. UserBLL objUserBLL = nieuwe BLL. UserBLL();
private void btnSubmit_Click(object sender, EventArgs e) { string id = txtId.Text.Trim(); string psd = txtPsd.Text.Trim();
Gebruiker localDataTable = objUserBLL.SelectRecordByID(id);
als (localDataTable != null && localDataTable.Psd == psd) { MessageBox.Show ("Succes"); } anders { MessageBox.Show("vals"); } }
Op dit punt is de code voor de inloginterface compleet. Je kunt het uitvoeren om het effect te zien.
|