русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Общие сведения об ORM


Дата добавления: 2015-06-12; просмотров: 616; Нарушение авторских прав


Для совмещения в одной системе преимуществ объектно-ориентированного программирования и реляционных баз данных необходимо использовать ORM (object relation mapping) – объектно-реляционное отображение. Объектно-реляционное отображение обеспечивает возможность работать с записями таблицы реляционной базы данных, как с объектом.

Суть объектно-реляционного отображения ORM (Object Relation Mapping) в том, что бы отделить хранение данных от работы с ними или иначе - разделить бизнес-логику и логику хранения/получения данных. Естественно при разработке системы отображения к ней выдвигается требование следующего плана - необходимо разработать систему таким образом, что при описании бизнес-компонентов минимум времени уходило на реализацию необходимого для этой системы отображения.

Важным достоинством отображения является возможность рассматривать отдельные таблицы БД как коллекции объектов соответствующих классов.

В технологии .NET используются два подхода для реализации отображения – на основе атрибутов или с помощью - XML-файлов для внешнего сопоставления.

Суть отображения на основе атрибутов базируется на механизме Reflection и состоит в следующем:

1. Определяются атрибуты, которые описывают, какие таблицы хранят данные соответствующих классов, и атрибуты, которые сопоставляют поля этих классов полям соответствующих таблиц. При этом отмечаются ключевые поля.

2. При описании очередной отображаемой сущности над классом определяется атрибут, который показывает, в какой таблице хранятся сущности данного типа, а над полями определяются атрибуты, которые сопоставляют им поля этих таблиц.

3. Создаётся маппер (исполнитель отображения), работа которого основана на этих атрибутах. Информацию об отображаемых полях этот маппер получает исключительно при помощи Reflection. Значения полей так же выбираются и устанавливаются через механизм Reflection.



С помощью XML-файлов метаданные для сопоставления можно хранить за пределами кода приложения. Такой файл используется для указания сопоставления между моделью данных БД и объектной моделью. Файл внешнего сопоставления имеет следующие преимущества:

1. Код сопоставления можно хранить вне кода приложения. Этот подход уменьшает перегруженность кода приложения.

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

Популярными ORM для платформы .NET являются LINQ to Entities, NHibernate, Fluent NHibernate. Данная лабораторная работа посвячена ORM Fluent NHibernate – одному из наиболее удобных на данный момент.

Использование ORM Fluent NHibernate позволяет не задумываться о структуре базы данных, а работать с базой как с коллекцией связанных друг с другом объектов. Такая возможность обеспечивается благодаря механизму отображения объекта на таблицу базы данных посредством правил, которые в NHibernate задаються map-классами. В map-классе указываются правила, по которым поля объектов будут проецироваться на колонки реляционной базы данных, а также правила для связи объектов друг с другом. На этапе запуска приложения map-файлы преобразовываются в наборы запросов, которые позволяют добавлять, удалять и модифицировать данные в таблицах баз данных, а также производить выборку данных.

Кроме map-файлов в формате XML в болем поздних версиях NHibernate правила отображения можно задавать с помощью атрибутов, а в Fluent NHibernate - с помощью классов.



<== предыдущая лекция | следующая лекция ==>
Задание на лабораторную работу | Связь один к одному


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.12 сек.