1 / 16

NHibernate

NHibernate. Andrej Palovi č. Agenda. Prečo používať ORM Čo je NHibernate ? Funkcionalita Nhibe r natu Mapovanie Dotazovanie. Prečo používať ORM. 90% operácii nad DB je CRUD Optimalizuje prístup do DB, takže je rýchlejší ako čistý ADO.NET Data access kód tvorí až 95%

junius
Download Presentation

NHibernate

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NHibernate Andrej Palovič

  2. Agenda • Prečo používať ORM • Čo je NHibernate? • Funkcionalita Nhibernatu • Mapovanie • Dotazovanie

  3. Prečo používať ORM • 90% operácii nad DB jeCRUD • Optimalizuje prístup do DB, takže je rýchlejší ako čistý ADO.NET • Data access kód tvorí až 95% • Viac času na skutočné programovanie (alebo testovanie)

  4. Čo je NHibernate • Je objektovo relačný pamovač (ORM) • Pracuje s čistými.NET objektami • Pre popis mapovania medzi DB a objektamy slúžia XML súbory

  5. FunkcieNHibernatu • Modelovanie vzťahov one-to-one, one-to-many, many-to-many, dedičnosť • Podpora mnohých DB • MS SQL • MySql • Oracle • Access • FireBird • DB2 • PostgreSQL • 2 cache levels • Lazy loading

  6. Mapovanie DB tabuliek do objektov • Existujú 3 spôsoby • XML(štandardný spôsob mapovania) • ActiveRecord(mapovaniepomocouatribútov) • FluentNhibernate(silnotypovémapovaniepomocou fluent interfacu) • Všetky alternatívy k XML vo svojom vnútri generujú xml mapovanie

  7. XML Mapovanie

  8. ActiveRecordmapovanie • Mapovanie pomocou atribútov • Najmenej flexibilný spôsob

  9. Fluent Nhibernate • Mapovaniepomocou fluent intefacu • Silnotypové mapovanie • Umožnuje kombinovať Fluent mapovanie s Xml mapovaním

  10. Dotazovanie • 4 druhy dotazovania • HQL (Hibernate query language) • Criteria • Linq to Nhibernate • NhLambdaExtensions

  11. HQL • Najflexibilnejší • Podporuje väčšinu dotazovacích funkcií SQL • Najmenej vhodný • Dotaz sa píše vo forme stringu • Žiadna typová bezpečnosť

  12. Criteria • Umožnujú objektový prístup • Nie je plne typový

  13. Linq to Nhibernate • Nie je úplná podpora Linqu • Nadstavba nad Criteria • Výkonnostne najhoršie riešenie • Čaká sa na prepis do HQL

  14. NhLambdaExtensions • Nadstavba nad Criteria • Plne typový spôsob • Rýchlostne rovnako ako criteria

  15. Ukažka Model first pristupu pomocou ActiveRecord

  16. Ďakujem za pozornosť

More Related