Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:

Ähnliche Präsentationen


Präsentation zum Thema: "Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:"—  Präsentation transkript:

1

2 Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a: ADO.NET ist eine Klassenbibliothek mit Datenzugriffsdiensten zur Entwicklung verteilter Anwendungen, die auf eine gemeinsame Datenbasis zugreifen. ADO.NET ermöglicht den Zugriff auf relationale Datenbanken, XML- und andere Anwendungsdaten. ADO.NET beinhaltet data provider zur Verbindung zu einer Datenbasis, zur Ausführung von SQL-Befehlen und zur Bereitstellung von Daten. ADO.NET Architektur siehe: us/library/27y4ybxw(VS.100).aspx

3 Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 3 ADO.NET Entity Framework Quelle: Alternativ zu diesem direkten Zugriff kann die Entwicklung der verteilten Anwendung mit ADO.NET auf einem Objektmodell (conceptual application model) basieren. Dazu wird vom ADO.NET Entity Framework das relationale Schema der Datenbank in ein konzeptionelles Schema (.NET-Objektstruktur) abgebildet object-relational mapping (ORM). Die Datenabfrage und –manipulation für das konzeptionelle Modell er- folgt mit Hilfe von LINQ to Entities ( LINQ=Language Integrated Query ). Das Entity Framework enthält einen EntityClient Data Provider, der die Verbindungen verwaltet, Entitätsabfragen in datenquellen-spezifische Abfragen übersetzt und einen Data Reader zurückgibt, mit dem Entitätsdaten in Objekte umgesetzt werden..NET Framework 4 enthält einen EDM (Entity Data Model) Generator, der die Verbindung zur Datenquelle herstellt und eine von ObjectContext abgeleitete Klasse generiert, die den Entity Container im conceptual model repräsentiert.

4 Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 4 ADO.NET Entity Framework Architektur s.a.:

5 Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 5 Implementierung in Visual Studio: Zum Projekt hinzufügen: ADO.NET Entity Data Model Datenbank existiert schon: Aus Datenbank generieren Datenverbindung auswählen siehe nächste Folie Modell soll neu angelegt werden: Leeres Modell

6 Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 6 Datenbankzugriff: Zur Erstellung einer Datenverbindung mit dem SQL-Server SQL-Server-Authentifizierung: Benutzername: schmidt Kennwort: hs Nach der Kennworteingabe kann die Verbindung getestet werden (Testverbindung). Datenbankname: … auswählen: sensible Daten in die Verbindungszeichenfolge einfügen Datenbankobjekte auswählen s.a. Server-Explorer im Visual Studio

7 Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 7 Vereinbarung bei der Erstellung eines ADO.NET Entity Data Model: sensible Daten in die Verbindungszeichenfolge einfügen Bei der Auswahl der Datenbankobjekte: nur die Tabellen, die von der jeweiligen Komponente gebraucht werden Anklicken: Generierte Objektnamen in den Singular oder Plural setzen Fremdschlüsselspalten in das Modell einbeziehen Erzeugung eines Klassendiagramms des Modells: *.Designer.cs Kontextmenü: Klassendiagramm anzeigen

8 Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 8 Beispiele für einige LINQ-Abfragen: var alteAutoren = from autor in daten.authors where (int)autor.Sterbejahr-(int)autor.Geburtsjahr > 60 select autor.Nachname; var qDichter = daten.authors.Where(d => d.Nachname.StartsWith("H")).OrderBy(d => d.Nachname); // Zugriff mit Index: author meinAutor = daten.authors.Single(a => a.AutorenID == 108); // Abfrage eines Autors mit seinen Werken: author meinAutor = litDB.authors.Include("works").Single(aw => aw.AutorenID == 101); // alle Autoren, für die es Werke in works gibt: var autoren = litDB.authors.Where(a => a.works.Any()).ToList();

9 Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 9 Solution 4_ADO.NET_EntityFramework: A_AbfrageMitEDM B_DBAenderungen C_LiteraturDB

10 Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 10 Aufgabe 2) Entwickeln Sie eine Datenbankapplikation mit ADO.NET Entity Framework für … a)die Datenbank Komponisten: Es werden alle Komponisten angezeigt und dem Benutzer eine Mehrfachauswahl ermöglicht. Für alle ausgewählten soll die Anzahl der CDs um eins erhöht werden. b)die Datenbank Literatur: Für einen Autor, der bereits in der Datenbank angelegt ist, soll ein zusätzliches Werk eingetragen werden (mit Genre).


Herunterladen ppt "Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:"

Ähnliche Präsentationen


Google-Anzeigen