Presentation laddar. Vänta.

Presentation laddar. Vänta.

 Object-Relational mapping  (aka O/RM, ORM, and O/R mapping)  Mappning av objekt och dess relationer till/från en relationsdatabas.

Liknande presentationer


En presentation över ämnet: " Object-Relational mapping  (aka O/RM, ORM, and O/R mapping)  Mappning av objekt och dess relationer till/från en relationsdatabas."— Presentationens avskrift:

1

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

4

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)

7

8

9

10

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

12

13

14

15

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

19

20

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


Ladda ner ppt " Object-Relational mapping  (aka O/RM, ORM, and O/R mapping)  Mappning av objekt och dess relationer till/från en relationsdatabas."

Liknande presentationer


Google-annonser