Описание

Технологический компонент Flexberry ORM реализует слой доступа к данным. Основная функция компонента - это объектно-реляционное отображение (Object-Relational Mapping).

Возможности

Ключевые особенности

  • Концепция представлений (проекций);
  • Поддержка различных СУБД «из коробки»;
  • Полная настройка названий таблиц, полей и т.п. в БД;
  • Первичные ключи произвольного типа;
  • Отображение в БД полей произвольных типов;
  • Перехват момента обращения к БД и выполнение дополнительных действий;
  • Широкие возможности по кастомизации, включая возможность управления запросами;
  • Поддержка Mono (отсутствие неуправляемого кода);
  • Поддержка сервера для протокола OData v4.

Пример использования

Работать с Flexberry ORM очень просто, например, создание и сохранение объекта в базу данных выполняется следующим образом:

Страна страна = new Страна();
страна.Наименование="Россия";
DataServiceProvider.DataService.UpdateObject(страна);

Чтение списка объектов:

List<Страна> userLicenses = DataServiceProvider.DataService.Query<Страна>(Страна.Views.СтранаL).Where(s => s.Наименование == "Россия").ToList();

Более полный пример использования можно найти в репозитарии с демонстрационным приложением на GitHub.

Архитектура

Flexberry ORM состоит из компонентов времени исполнения, доступных для установки через NuGet и инструментария проектирования и генерации.

Компоненты времени выполнения

Компоненты времени выполнения доступны в виде NuGet-пакета NewPlatform.Flexberry.ORM и включают в себя классы, необходимые для работы ORM. Данные компоненты устанавливаются вместе с конечными приложениями и являются их неотъемлемой частью. Компоненты времени выполнения Flexberry ORM распространяются бесплатно в соответствии с лицензионным соглашением.

Инструментарий проектирования и генерации

Инструментарий проектирования представляет собой CASE-инструмент и состоит из UML-редактора Flexberry Designer и модуля расширения «Flexberry ORM», предназначенным для генерации C#-кода и SQL. Данный инструментарий позволяет по диаграмме классов сгенерировать C#-классы объектов данных и БД. Проектирование с использованием данного инструментария подразумевает принцип Model-First, когда все изменения в модели производятся в CASE, а изменения в коде выполняются во время генерации. Также реализован механизм, позволяющий программистам писать код, который при перегенерации не будет потерян, так называемые, «скобки программиста». Использование инструментария проектирования позволяет с лёгкостью вносить изменения в модель любому участнику команды разработки, не опасаясь что-нибудь сломать.

Как воспользоваться

Чтобы создавать приложения с использованием Flexberry ORM можно выполнить проектирование и генерацию приложения в Flexberry Designer.
Отдельно доступен NuGet-пакет NewPlatform.Flexberry.ORM c Runtime-компонентами, но для его использования в ручном режиме потребуется самостоятельно создавать классы объектов данных.

Стоимость

Runtime-компоненты распространяются бесплатно.

Материалы

Подробнее с Flexberry ORM можно познакомиться на сайте с документацией.

Пример использования ORM

Пример использования ORM

Попробуйте сами

На период ознакомления или для открытых проектов продукты платформы доступны бесплатно. Попробуйте, и решите, подходят ли они
для ваших задач.

Попробовать

Также вы можете ознакомиться с исходным кодом продуктов на GitHub.