Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avFrida Fredriksson
2
Object-Relational mapping (aka O/RM, ORM, and O/R mapping) Mappning av objekt och dess relationer till/från en relationsdatabas.
3
Databas Data ligger i tabeller, kolumner, rader Programmering Data hanteras i hierarkiskt inkapslade objekt Object-relational impedance mismatch
5
Transparent persistence Mappning mellan klasser och databas XML Attributer Genererar SQL dynamiskt Möjliggör stöd för flera databaser
6
ORM ramverk för.NET Baserad på ett populärt Java ramverk Open Source (LGPL)
11
Klasser behöver ej ärva någon specifik basklass En tabell till flera klasser, en klass till flera tabeller Stöder många olika relationer (1-1, 1-n, n-n) Relationer hanteras genom standard.NET collections (även generiska) Arv
16
none save-update delete delete-orphans all all-delete-orhpans
17
NHibernate kan konfigureras så att ett objekts relationer endast laddas från databasen när det används.
18
NHibernate klarar av tre olika strategier för att hantera arv En tabell för hela arvhierarkin En tabell för varje subklass En tabell för varje konkret klass
21
Application Database SessionFactory Session TransactionFactoryConnectionProvider Transaction Persistent Objects Transient Objects ADO.NETODBCOLE DB
22
Genererar bra optimerad SQL som ofta är lika snabb eller snabbare än en handskriven Stored Procedure Tillhandhåller olika stöd för cachning som kan ge stora prestandaförbättringar. Vid skrivning / läsning kan NHibernate vara lite långsammare än en handskriven ADO.NET lösning.
23
Lite av en svart låda Kan vara svårt att introducera i ett befintligt system Komposita nycklar kan ibland skapa problem, speciellt när det används för att identifiera relationer Kan ta tid att få grepp på alla funktioner Ej integrerad med Visual Studio (dvs. inget designer stöd)
24
LINQ To SQL Entity Framework
25
Fördelar Integrerad med Visual Studio Lätt att komma igång Stöder LINQ syntax Nackdelar Begränsat stöd för arv En tabell kan bara mappas till en klass Fungerar bara mot Microsoft SQL Server Stöder inte many-to-many relationer
26
Utvecklaren behöver spendera mindre tid till ”persistence plumbing” Leder till applikationer som är lättare att underhålla Flexibelt / Funktionsrikt Stor användarbas för båda java och.NET versionen Lätt att få hjälp Bra dokumentation
27
Presentationerna finns på intranätet Exempelapplikationer Log4NetDemo NHibernateExampleSimple NHibernateDemo Email: torkel.odegaard@cybercom.se Blogg: www.codinginstinct.com
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.