NHibernate vs. Entity Framework



Ähnliche Dokumente
.NET Entity Framework 4

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Django - ein Python Web-Framework

Refactoring relationaler Datenbank. Shaoke Wu

Allgemeines zu Datenbanken

Inheritance Strategien mit dem Entity Framework

Datenbanksysteme 2015

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010

REGIONALES RECHENZENTRUM ERLANGEN [ RRZE] Datenbanken. RRZE-Campustreffen, Stefan Roas und Ali Güclü Ercin, RRZE

Hibernate Das Praxisbuch für Entwickler

Relationale Datenbanken Kursziele

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering

i i apitel apitel K K Inhalt Inhalt

Einrichten der Windows Authentication im Active Directory auf Windows 2000 Server und MS SQL Server 2005 Express für opus i


Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Datenbanksysteme 1. Organisation. Prof. Stefan F. Keller. Ausgabe Copyright 2005 HSR SS 2005

Mapbender3 Workshop. Astrid Emde AGIT 2015 Salzburg

SQL, MySQL und FileMaker

3. Das Relationale Datenmodell

Einteilung von Datenbanken

Datenhaltung für Android Model First Christian Ingenhaag, Frederik Götz, Carl Steeg

opus i Preisliste gültig bis Seiten

Grundlagen der Informatik 2

Oracle GridControl Tuning Pack. best Open Systems Day April Unterföhring. Marco Kühn best Systeme GmbH

Datenbankenseminar: SAP Reporting Vergleich ABAP vs. Quick View. Dipl. WiFo Sven Adolph

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9

Graphen in Apex von Thomas Hernando.

Übung B. JPA Java Persistence API. Prof. Dr. Andreas Schmietendorf 1. Übung B (Exkurs)

Grundlagen der Web-Entwicklung

Eine weitere Möglichkeit "die grosse weite Welt" zu erschliessen sind ODBC/JDBC bzw. ESS Verbindungen.

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

Technologietag SharePoint 2010

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Referent: Marko Modsching. Vortrag: JPA mit Hibernate. Datum: Deutsche Software Engineering & Research GmbH

Verschiedene Arten des Datenbankeinsatzes

Uwe Baumann artiso Solutions

Die Alternative zum Web-Form Modell

OWB 10.2 Experts im Einsatz: Automatisierung von Designschritten bei der Bayer Healthcare AG. Referent: Lutz Bauer, Senior Systemberater, MT AG

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Mapbender3 für den einfachen Aufbau von WebGIS Anwendungen

Checkliste. Installation NCP Secure Enterprise Management

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Kurzreferenz Sybase PowerDesigner

PHP & Windows. Jan Burkl System Engineer, Zend Technologies. All rights reserved. Zend Technologies, Inc.

Quelle: TU Dresden, Fakultät Informatik, Institut für Systemarchitektur, Professur für Datenbanken, Dr.-Ing. B. Keller

Aktuelle SE Praktiken für das WWW

5. Objekt-relationale Systeme 5.1. Erweiterungen des Relationalen Modells 5.2. SQL-Erweiterungen 5.3. MM-DB

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

Relationale Datenbanken in der Praxis

Mapbender3. für den einfachen Aufbau von WebGIS Anwendungen. Astrid Emde INTERGEO 2015 Stuttgart. Mapbender3 Astrid Emde INTERGEO Stuttgart 2015

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Einführung in Datenbanken

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Wer bin ich. > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software > 12+ Jahre Java Enterprise > 7+ Jahre.

w3lib - einfach Software entwickeln!

datenfabrik. Validieren von -Adressen 1

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel

Datenbankstammtisch. Replikation in heterogenen Datenbankumgebungen am Beispiel des Sybase Replication Servers. 1. Februar 2006

Tec Local Installationsanleitung: Lieferanten-Modus (Client) TecLocal 4.0. Installationsanleitung: Lieferanten-Modus (Client)

Microsoft Dynamics NAV 2013 SOAP und OData Webservices mit.net nutzen Dipl.-Inf. (FH) Ingo Jansen

CAIRO if knowledge matters

Grenzen überschreiten Intelligente Suche im Input Management

WhitePaper. Mai BIA Business Intelligence Accelerator. Markus Krenn Geschäftsführer Mail:

Dynamic Ressource Management

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7

1 Jahr Datenbankprogrammierung lernen mit LON-CAPA - Ein Erfahrungsbericht. n.jensen@ostfalia.de

Relationale Datenbanken Kursziele

Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Die Attribute (Feldnamen) dieser Entitäten entnimmst du den nachfolgenden fünf Screenshots.

Objektorientierte Datenmodelle und - verwaltung

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Einreichung zum Call for Papers

Übungsaufgabe Transaktion als Middleware

Use AMW to deploy to OpenShift

Ich melde meinen Sohn / meine Tochter verbindlich für den!biku Osterferien-Intensivkurs 2016 in der Gruppe an:

Transaktionsverwaltung

HaskellDB. Datenbank-Features in Haskell Johannes Reiher

Relationale Datenbanken Datenbankgrundlagen

Installationsbeschreibung Flottenmanager 7.1

E-Business Architekturen

Business Intelligence Praktikum 1

Mapbender3 nimmt Fahrt auf

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

RetSoft Archiv Expert - Admin

Verbinde die Welten. Von Oracle auf MySQL zugreifen

Zend PHP Cloud Application Platform

Datenzugriffskomponente mit JPA 2.1

Prüfungsberatungs-Stunde Datenbanksysteme 1 (Dbs1)

Business Intelligence Praktikum 1

Cross Platform Development mit SharePoint

Automatisiertes UI Testing. Mark Allibone, , #2

Transkript:

Manfred Steyer CAMPUS 02 softwarearchitekt.at NHibernate vs. Entity Framework Ziele NHibernate und Entity Framework sowie deren Unterschiede kennen lernen 1

Agenda Kriterien Beispiel mit EF Beispiel mit NH Model First/ Code First Vererbung Abgehängte Objekte Custom SQL Performance O/R-Mapping 2

Kriterien Unterstützte DBMS Visual Studio-Integration Persistence Ignorance DB-First Model First/ Code First Abfragen Concurrency Beziehungen Vererbung Lazy-/ Eager-Loading Abgehängte Objekte Custom SQL/ SP Performance EF NH Skala + Ok ++ Perfekt +++ Wow! (> 100%) - Nicht Ok -- Total Schlecht --- Negativ Überrascht 3

EF - ÜBERBLICK Entity Data Model Entnommen aus: [Lerman, Programming Entity Framework] 4

Entity Data Model Entity Data Model 5

Generierte Artefakte Entitätsklassen mit Assoziationen ObjectContext Unterstützte Datenbanken DB2 Ingres PostgreSQL MySQL Oracle Sybase Oracle MS SQL Firebird SQL Light 6

DEMO Kriterien Unterstützte DBMS Visual Studio-Integration Persistence Ignorance DB-First Model First/ Code First Abfragen Concurrency Beziehungen Vererbung Lazy-/ Eager-Loading Abgehängte Objekte Custom SQL/ SP Performance EF NH 7

NH - ÜBERBLICK XML-Mapping für Entities 8

Konfiguration Entitäten Page 18 9

Unterstützte DBMS MS SQL DB2 EffiProz FireBird Informix Oracle PostgreSQL SQLite Sybase VistaDB MySQL DEMO Unterstützte DBMS Visual Studio-Integration Persistence Ignorance DB-First Model First/ Code First Abfragen Concurrency Beziehungen Vererbung Lazy-/ Eager-Loading Abgehängte Objekte Custom SQL/ SP Performance EF NH 10

Kriterien EF NH Unterstützte DBMS + +++ Visual Studio-Integration ++ -- Persistence Ignorance + + DB-First ++ ++ Model First/ Code First Abfragen ++ ++ Concurrency ++ ++ Beziehungen ++ +++ Vererbung Lazy-/ Eager-Loading ++ ++ Abgehängte Objekte ++ ++ Custom SQL/ SP Performance EF - MODEL/ CODE FIRST 11

Model First Code First (EF CTP 4!!) 12

Code First (EF CTP 4!!) Code First (EF CTP 4!!) 13

NH - MODEL/ CODE FIRST NHibernate Mapping Attributes Page 28 14

Auto-Mapping mit Fluent NH Fluent NH 15

Kriterien EF NH Unterstützte DBMS + +++ Visual Studio-Integration ++ -- Persistence Ignorance + + DB-First ++ ++ Model First/ Code First ++ ++ Abfragen ++ ++ Concurrency ++ ++ Beziehungen ++ +++ Vererbung Lazy-/ Eager-Loading ++ ++ Abgehängte Objekte ++ ++ Custom SQL/ SP Performance VERERBUNG 16

Page 33 Kriterien EF NH Unterstützte DBMS + +++ Visual Studio-Integration ++ -- Persistence Ignorance + + DB-First ++ ++ Model First/ Code First ++ ++ Abfragen ++ ++ Concurrency ++ ++ Beziehungen ++ +++ Vererbung ++ ++ Lazy-/ Eager-Loading ++ ++ Abgehängte Objekte ++ ++ Custom SQL/ SP Performance 17

CUSTOM SQL/ SP EF: Native/ Store Queries 18

NH: SQL Queries Kriterien EF NH Unterstützte DBMS + +++ Visual Studio-Integration ++ -- Persistence Ignorance + + DB-First ++ ++ Model First/ Code First ++ ++ Abfragen ++ ++ Concurrency ++ ++ Beziehungen ++ +++ Vererbung ++ ++ Lazy-/ Eager-Loading ++ ++ Abgehängte Objekte ++ ++ Custom SQL/ SP ++ ++ Performance 19

PERFORMANCE Hinterhof-Benchmark Performance in etwa die selbe bei kleiner Anzahl an Datensätzen NH ist beim Abrufen ein wenig schneller (ca. 1 ms pro Objekt) EF ist beim Einfügen ein wenig schneller (ca. 1 ms pro Objekt) Update: Ungefähr gleich (NH winzigen Vorsprung) Performance entspricht ~ manuellem Mapping 20

Zusammenfassung EF NH Unterstützte DBMS + +++ Visual Studio-Integration ++ -- Persistence Ignorance + + DB-First ++ ++ Model First/ Code First ++ ++ Abfragen ++ ++ Concurrency ++ ++ Beziehungen ++ +++ Vererbung ++ ++ Lazy-/ Eager-Loading ++ ++ Abgehängte Objekte ++ ++ Custom SQL/ SP ++ ++ Performance + + Zusammenfassung EF NH Unterstützte DBMS + +++ Visual Studio-Integration ++ -- Persistence Ignorance + + DB-First ++ ++ Model First/ Code First ++ ++ Abfragen ++ ++ Concurrency ++ ++ Beziehungen ++ +++ Vererbung ++ ++ Lazy-/ Eager-Loading ++ ++ Abgehängte Objekte ++ ++ Custom SQL/ SP ++ ++ Performance + + 21

Literatur NHibernate Reference Documentation http://nhforge.org/doc/nh/en/index.html Absolute Beginers Guide to Entity Framework http://blogs.msdn.com/b/adonet/archive/2010/07/19/ab solue-beginners-guide-to-entity-framework.aspx.net 4.0-Update (Deutsch) ISBN 3866454430 Programming Entity Framework ISBN 0596807260 Kontakt und weitere Infos Manfred Steyer www.softwarearchitekt.at manfred.steyer@softwarearchitekt.at 22