Основные компоненты NHibernate презентация

Содержание

Конфигурация

Слайд 1Основные компоненты NHibernate


Слайд 2Конфигурация


Слайд 3Фабрика сессий
Создается на основе объекта конфигурации

Представляет собой абстракцию базы данных

На каждую

СУБД своя фабрика сессий

Временные затраты на создание

Генерирует сессии


Слайд 4Фабрика сессий. Основные методы
Close ()

Evict (Type t, object id)

EvictCollection (string roleName,

object id)

GetCurrentSession ()

OpenSession ()

OpenStatelessSession ()

Слайд 5Сессии
Взаимодействие с базой данных

Создание не является ресурсоемким

Используется наиболее часто



Слайд 6Генерация скриптов на основе файлов маппинга
Анализ файлов маппинга

Генерация необходимых sql-скриптов

Анализ файлов

маппинга на предмет изменений

Генерация необходимых sql-скриптов


Слайд 7Id генераторы
IDENTITY (sql server, mysql)

SEQUENCE (oracle, postgresql)

HILO

SEQHILO

GUID

GUID.COMB (более быстрый)

NATIVE

ASSIGNED

Интерфейс IIdentifierGenerator




Слайд 8Маппинг
Проекция сущностей на таблицы в базе данных

Различные варианты маппинга

Обязательные требования


Слайд 9Маппинг через xml-файлы
Множество примеров в интернете

Не нужно повторно перекомпилировать приложение
Плюсы
Минусы
Отсутствует IntelliSense

Отсутствие

валидации во время компиляции

Слайд 10Пример маппинга через xml-файлы


Слайд 11Маппинг через атрибуты
Не нужно создавать xml-файлы

Легкий переход с xml-файлов
Плюсы
Минусы
Ухудшается удобочитаемость кода

У

свойств, состоящих более чем из 1 атрибута нужно прописывать индексы

Слайд 12Пример маппинга через атрибуты


Слайд 13Маппинг с помощью кода
Не нужно создавать xml-файлы

Не требуются дополнительные библиотеки
Плюсы
Минусы
Структура маппинга

не совсем соответствует xml-файлам

Слайд 14Пример маппинга с помощью кода


Слайд 15Типы коллекций


Слайд 16Маппинг. Component


Слайд 17Связь один-к-одному. Сущности


Слайд 18Один-к-одному


Слайд 19Связь один-ко-многим. Сущности


Слайд 20Один-ко-многим


Слайд 21Многие-ко-многим. Сущности


Слайд 22Многие-ко-многим


Слайд 23Связь многие-ко-многим


Слайд 24Батчинг. Пример


Слайд 25Батчинг. Результат


Слайд 26Отложенная загрузка (lazy load)
Определяет режим подгрузки вложенных элементов


Слайд 27Fetch
Определяет способ подгрузки вложенных элементов

Принимаемые значения – «select», «join»


Слайд 28Кэширование
Кэш первого уровня

Кэш второго уровня

Кэш запросов


Слайд 29Состояния сущности
Transient (временный)

Persistent (постоянный)

Detached (отдельный)



Состояния меняются с помощью методов экземпляра сессии


Слайд 30Методы экземпляра сессии
Save
Update
Delete
SaveOrUpdate
Close
Clear
Evict
BeginTransaction
Flush
Get
Load
Merge
Persist
SetBatchSize


Слайд 31Транзакции
ACID

Явные, неявные

Вложенные транзакции

Commit

Rollback

IsActive

WasCommitted

WasRolledBack



Слайд 32Flush
Never

Commit

Always

Auto



Слайд 33Запросы. Native SQL. Пример 1.


Слайд 34Запросы. Native SQL. Пример 2.


Слайд 35Запросы. Native SQL. Пример 3.


Слайд 36Запросы. Native SQL. Пример 4.


Слайд 37Запросы. Native SQL. Пример 5.


Слайд 38Запросы. Native SQL. Пример 6.


Слайд 39Запросы. HQL. Пример 1.


Слайд 40Запросы. HQL. Пример 2.


Слайд 41Запросы. HQL. Пример 3.


Слайд 42Запросы. HQL. Пример 4-1.


Слайд 43Запросы. HQL. Пример 4-2.


Слайд 44Запросы. HQL. Пример 5-1.


Слайд 45Запросы. HQL. Пример 5-2.


Слайд 46Запросы. HQL. Пример 5-3.


Слайд 47Запросы. HQL. Пример 6-1.


Слайд 48Запросы. HQL. Пример 6-2.


Слайд 49Запросы. HQL. Пример 7-1.


Слайд 50Запросы. HQL. Пример 7-2.


Слайд 51Запросы. LINQ to NH. Пример 1-1.


Слайд 52Запросы. LINQ to NH. Пример 1-2.


Слайд 53Запросы. LINQ to NH. Пример 2-1.


Слайд 54Запросы. LINQ to NH. Пример 2-2.


Слайд 55Запросы. LINQ to NH. Пример 3-1.


Слайд 56Запросы. LINQ to NH. Пример 3-2.


Слайд 57Запросы. LINQ to NH. Пример 4-1.


Слайд 58Запросы. LINQ to NH. Пример 4-2.


Слайд 59Запросы. LINQ to NH. Пример 5-1.


Слайд 60Запросы. LINQ to NH. Пример 5-2.


Слайд 61Запросы. LINQ to NH. Пример 6-1.


Слайд 62Запросы. LINQ to NH. Пример 6-2.


Слайд 63IEnumerable vs IQueryable.


Слайд 64IEnumerable vs IQueryable.


Слайд 65Материализация


Слайд 66Материализация


Слайд 67Проверка на Null


Слайд 68Проверка на Null


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика