Sabine.NET - высокопроизводительная ORM библиотека, превосходящяя либо сопоставимая по быстродействию и ресурсоемкости популярные ORM, обладающая удобным визуальным дизайнером в MS Visual Studio. Идеально подходит для работы с огромными массивами реляционных данных.
Распространяется под лицензией GNU LGPL v3.
Сайт официального сообщества: http://sabine.it-home.pro/
Основные возможности:
высокопроизводительный и гибкий механизм прямой и обратной трансляции реляционных данных в объектную модель;
высокая производительность загрузки огромных наборов данных (от 1 млн записей и выше);
автоматическое сегментирование команд к базе данных при единовременном сохранении большого количества изменений;
возможность построения целостной модели данных;
интегрированный визуальный дизайнер построения объектных моделей в MS Visual Studio 2008-2013;
поддержка сложносоставных первичных и вторичных ключей сущностей;
расширяемая поддержка различных СУБД (в комплекте идет поддержка MS SQL Server, MS SQL Compact Edition 3.5);
поддержка специальных бинарных типов данных;
использование таблиц, представлений, функций и процедур в качестве источников загрузки данных из БД;
использование произвольного количества источников загрузки данных из БД для одной сущности;
использование таблиц и процедур для сохранения изменений данных сущности в БД;
гибкий механизм формирования условий выборки данных из БД;
вызов хранимых процедур с бизнес-логикой посредством инструментов объектной модели;
механизм для отслеживания и синхронизации комплексных изменений в объектах различных моделей данных;
расширяемые классы объектов данных;
простая и интуитивно понятная программная модель для ручного написания кода модели данных;
поддержка глобальных параметров на уровне модели данных;
механизм доступа к данным через непоследовательный постраничный курсор объектов данных;
поддержка Identity полей сущностей данных;
поддержка выходных полей при сохранении изменений в сушностях данных;
поддержка сущностей с запретом на внесение изменений (readonly);
механизы прямого и обратного преобразований XML-объектов как значений полей сущностей данных;
поддержка интерфейса INotifyPropertyChanged, IEditableObject, ICloneable для сущностей данных;
отслеживание состояния объекта данных при изменении значений его полей;
поддержка псевдонимов полей данных для загрузки и сохранения сущностей;
поддержка ссылочных полей типа 1к1, 1кМ, Мк1 с отложенной и пакетной загрузкой из любых источников данных (кроме процедур), включая параметризированные функции;
поддержка пользовательских функций для получения значений ссылочных полей сущности данных;
сохранение сложных изменений связанных сущностей в рамках одной транзакции с поддержкой каскадных Identity полей на уровне базы данных для связанных сущностей;
механизм каскадных изменений ссылочных свойств при удалении связанных сущностей;
синхронизация вторичных и первичных ключей связанных сущностей данных при изменении их значений;
механизм автоматического логирования в БД изменений в сущностях данных;
интегрированная возможность профилирования запросов к БД;