Successfully reported this slideshow.

Blick auf das Wesentliche - O/R-Mapping mit .NET

734 views

Published on

Objektorientierte Programmierung führt Entwickler häufig zu folgendem Problem:

Die Business-Logik basiert auf Objekten, aber die Datenbank arbeitet relational. Objekte müssen manuell in Tabellenstrukturen abgebildet oder aus diesen erstellt werden. Nicht selten widmen sich 30% bis 50% des Quellcodes ausschließlich dem Datenzugriff. Anhand des O/R-Mappers "OpenAccess" der Firma Vanatec wird eine Lösungsmöglichkeit für dieses Problem aufgezeigt.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Blick auf das Wesentliche - O/R-Mapping mit .NET

  1. 1. Blick auf das Wesentliche O/R – Mapping mit .NET Detlef Sauerbrei
  2. 2. Die Symptome I Identitätsproblem Objekte haben eine implizite Identität (Adresse im Hauptspeicher) Dim p As New Person ... Dim q As Person = p Datensätze in Tabellen haben eine explizite Identität (Primärschlüssel) Häufig erfüllen Primärschlüssel andere Zwecke als den der Identitätsherstellung Dim r As DataRow = myDataSet.Tables(0).NewRow r("id") = ... 2
  3. 3. Die Symptome II Beziehungsproblem Objekte verweisen mit Zeigern vom Parent auf die Children (intuitiv) parent.children.Add(c) Datensätze verweisen umgekehrt mit Fremdschlüsseln von den Children auf den Parent (nicht intuitiv) rChild("idParent") = rParent("id") 3
  4. 4. Die Symptome III Verhaltensproblem OOP steht für einen Umgang mit einzelnen „Dingen“ (Objekte) imperative Programmierung (C#, VB.NET) For Each r As DataRow in myDataSet.Tables(0).Rows r.Delete() Next RDBMS stehen für einen Umgang mit vielen „Dingen“ (Mengen) deklarative Programmierung (SQL) delete from Bestellpositionen where Menge=0 4
  5. 5. Beispiel: Personen und Anschriften Jede Person hat mindestens eine Anschrift Unter einer Anschrift können mehrere Personen leben. Es sollen alle Anschriften einer Person angezeigt werden. Es sollen alle Personen zu einer Anschrift angezeigt werden. n:m – Beziehung 5
  6. 6. Datenmodell Anschriften a_ID Personen_Anschriften Land P_ID Postleitzahl A_ID Strasse Ort Personen p_ID Name Vorname GebDat 6
  7. 7. Objektmodell 7
  8. 8. Klassisch Objektmodell Datenmodell Code 8
  9. 9. Mit O/R - Mapping Objektmodell Datenmodell O/R-Mapper 9
  10. 10. Demo: Vanatec OpenAccess 10
  11. 11. Kontakt, Feedback GEDOPLAN GmbH Stieghorster Str. 60 33605 Bielefeld 0521 20889-10 mailto:detlef.sauerbrei@gedoplan.de http://www.gedoplan.de http://www.involva-gruppe.de 11

×