In diesem Beitrag möchte ich mit einer Step-by-Step Anleitung euch zeigen, wie wir einfach und schnell eine einfache ASP.NET Web Application-Anwendung erstellen mit der wir die Daten in einer Datenbanktabelle anzeigen und bearbeiten können.
Dabei werde ich mit Visual Studio 2008 Service Pack 1 Beta veröffentliche ADO.NET Entity Model und EntityDataSource Komponente (Component) als Datenbank-Schnittstelle verwenden.
Schritt 1: Ein neues ASP.NET Web Application Projekt erstellen
Visual Studio 2008 starten und Menü Eintrag File - New Project auswählen.
Anschließend Visual C# - ASP.NET Web Application Template auswählen und EntityDataSourceSample0002 als Projektname definieren.
Schritt 2: Als nächstes Erstellen wir eine ADO.NET Entity Data Model-Klasse
Mit Hilfe des Project - Add Component Menü Eintrag den Auswahl-Dialog für Projekt-Elemente starten.
Im Dialog ADO.NET Entity Data Model-Element auswählen und AdventureWorks.edmx als Name definieren.
Schritt 2a: Entity Data Model Wizard-Dialog
Im Wizard "Generate from database"-Element auswählen.
Schritt 2b: Datenbank-Verbindung (Database connection)
In diesem Dialog definieren wir die Datenbank-Verbindung (Database connection). Zusätzlich wird auch der Name des Web.Config-Eintrages für die ConnectionString definiert.
In dem folgenden Beispiel wird ein SQL Server 2008 mit der AdventureWorks-Datenbank verwendet und der Eintrag im Web.Config-File heißt AdventureWorksEntitites.
Schritt 2c: Datenbank-Objekt (Database object) auswählen
Erst hier definieren wir, welche Datenbank-Tabelle(n) (Database table(s)) für unser Model relevant sind.
In dem folgenden Beispiel wird nur die CountryRegion-Tabelle ausgewählt. Zusätzlich wird der Name für den Model Namespace definiert. Im Beispiel wird AdventureWorksModel als Namespace verwendet.
Als Resultat erhalten wird unser AdventureWorks-Model mit der CountryRegion-Entity Klasse (Entity Class)
Schritt 3: EntityDataSource-Komponente (Component)
In diesem Schritt werden wir die EntityDataSource-Komponente in unsere Seite einbinden und Konfigurieren.
Wir wechseln in das Design-Modus des Default.aspx-Elements. Einfach Solution Explorer auswählen und auf das Default.aspx-Element doppelklicken.
Im Toolbox unter dem Abschnitt Data sehen wir unseren EntityDataSource-Komponente (Component).
Mit Drag & Drop die EntityDataSource-Komponente (Component) auf das Default.aspx-Element ziehen und los lassen.
Schritt 3a: EntityDataSource - DataSource-Eigenschaft konfigurieren (Configure Data Source)
Als nächstes werden wir die DataSource-Eigenschaft der EntityDataSource-Komponente konfigurieren. Für die Konfiguration kann der Eintrag Configure Data Source (wie im untenstehenden Bild ersichtlich) ausgewählt werden.Schritt 3b: ObjectContext-Konfigurieren (Configure ObjectContext)
Die ConnectionString und DefaultContainerName Informationen werden im folgenden Dialog definiert."Die Beta 1 des Visual Studio 2008 Service Packs hat leider einen Fehler (Bug). Ich werde euch zeigen, wie man diesen Fehler umgehen kann."
Namen Connection markieren und den Eintrag AdventureWorksEntities auswählen.
Wenn wir versuchen, den DefaultContainerName-Eigenschaft zu definieren, dann erhalten wir folgenden Fehlermeldung (Fehler (Bug) in Visual Studio 2008 ServicePack 1 Beta): The Entity Data Model metadata specified in the connection string could not be loaded due the following error(s): Unable to load specified metadata resource.
Schritt 3c: Fehler (Bug) Korrektur
Die Fehlermeldung mit OK bestätigen und den Wizard mit Cancel abbrechen.
In der Web.Config-Datei wurde im Abschnitt ConnectionString ein falscher Eintrag verursacht diesen Fehler:
Die "*" müssen mit dem Projektnamen (Project name) bzw. Assemlby-Namen (Assembly name) ersetzt werden.
Die Datei speichern und neu KOMPILIEREN (Build).
Anschließend nochmals zurück auf das Design-Modus der Default.aspx-Seite wechseln und den EntityDataSource-Element konfigurieren (siehe Schritt 3a).
Schritt 3d: DefaultContainerName auswählen
Als DefaultContainerName den Eintrag AdventureWorksEntites auswählen.
Schritt 3e: Daten-Selektion konfigurieren (Configure Data Selection)
In diesem Schritt definieren wir, welche Funktionalitäten für unsere CountryRegion-Klasse zur Verfügung stellen soll.
Gemäß folgende Bild die Einstellungen vornehmen und den Dialog mit Finish abschließen.
Schritt 4: GridView-Element für die Datenanzeige und Bearbeitung
Für die Anzeige und Bearbeitung der Daten benötigen wir ein GridView-Element. Einfach ein neues GridView-Element mit Drag & Drop auf die Default.aspx-Seite ziehen.
Schritt 4a: GridView DataSource-Eigenschaft (Property)
Als nächstes konfigurieren wir die Data Source-Eigenschaft (Property) des GridView-Controls. Als Data Source den EntityDataSource1-Eintrag auswählen.
Unser GridView-Control wie folgt aus:
Bitte hier auch die Optionen Enable Paging, Enable Sorting, Enable Editing, Enable Deleting und Enable Selection auch ankreuzen.
Jetzt können wir unser Beispiel-Projekt mit F5 starten.
Wenn bei euch auch die "Debugging Not Enabled"-Meldung erscheint, einfach mit OK weitermachen.
Nach eine "einbißchen lange" Wartezeit sehen wir in unserem Browser (in meinem Beispiel Internet Explorer) die Default.aspx-Seite mit GridView und die CountryRegion-Daten.
Das Beispielprojekt findet ihr unter: EntityDataSourceSample0002
Viel Spaß beim ausprobieren.
Für Feedbacks über die Kommentar-Funktionalität wäre ich dankbar, ob das Beispiel-Projekt bei euch auch funktioniert hat.
2 comments:
Schöne Anleitung.
Was in dieser Anleitung noch fehlt, wäre... z.B. neue Daten anlegen ;-)
Du hast recht.
Ich werde versuchen auch die Insert-Funktionalität zu implementieren.
Danke fürs Feedback.
Gruss
Özgür
Post a Comment