'

NHibernate

Понравилась презентация – покажи это...





Слайд 0

NHibernate Дмитрий Петухов ЦКЗ Аргус


Слайд 1

О чем поговорим? Технологии доступа к данным Популярные ORMы NHibernate Демо


Слайд 2

В чем проблема?


Слайд 3

private void Page_Load(object sender, EventArgs e) { … string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+ "c:\\Data\\Northwind.mdb;User Id=admin;Password=;"; string queryString = "SELECT ProductID, UnitPrice, ProductName from products " + "WHERE UnitPrice > ? ORDER BY UnitPrice DESC;"; using (OleDbConnection connection = new OleDbConnection(connectionString)){ OleDbCommand command = new OleDbCommand(queryString, connection); command.Parameters.AddWithValue("@pricePoint", paramValue); try { connection.Open(); OleDbDataReader reader = command.ExecuteReader(); while (reader.Read()) { … } reader.Close(); } catch (Exception ex){} } … }


Слайд 4

Слоистая архитектура


Слайд 5

Как получить данные?


Слайд 6

Объектно-ориентированные СУБД ADO.NET Object-Relational Mapper (ORM)


Слайд 7

Объектно-ориентированные СУБД Объектная модель данных Медленные ?


Слайд 8

«Семантический провал» Объектная модель vs Реляционная модель Парадигмы ООП Связи объектов: Коллекции vs “Первичных ключ, внешний ключ” Запросы: несколько запросов или сложный запрос c JOIN Многие-ко-многим: ссылки между объектами vs «третья таблица»


Слайд 9

ADO.NET


Слайд 10

ADO.NET Проблема: Очень много однообразного кода Решения: Самописные библиотеки Автогенерилки (например, CodeSmith)


Слайд 11

ORM


Слайд 12

ORM Это модно ? Скрывает «семантический провал»


Слайд 13

Какую ORM вы используете? LinqToSql 45% NHibernate 37% Entity Framework 34% Castle ActiveRecord 10% LLBLGen Pro ($$$) 5%


Слайд 14

NHibernate


Слайд 15

NHibernate OpenSource Большой опыт Hibernate Все основные СУБД Логика не зависит от ORM Всякие плюшки


Слайд 16

Nhibernate = ORM + запросы Запросы с помощью: SQL Hibernate Query Language Hibernate Criteria Language LinqToHNibernate


Слайд 17

ДЕМО


Слайд 18

Что узнали? Слой данных Технологии доступа к данным Популярные ORMы NHibernate Демо


Слайд 19

Попробуй – полюбишь!


Слайд 20

Спасибо за внимание Дмитрий Петухов Petukhov.dmitry@gmail.com


Слайд 21

Ссылки Сам Nhibernate http://sourceforge.net/projects/nhibernate/ Nhibernate.Linq (там же) Основной мануал https://www.hibernate.org/hib_docs/nhibernate/html/ Профилировщик nhprof.com/ ormbattle.net/


×

HTML:





Ссылка: