Почему Sabine.NET?
Превосходит по производительности популярные ORM и не уступает по удобству!
Возможности
* Поддержка СУБД MS SQL Server, MS SQL Compact Edition, Oracle, Postgresql, MySQL, SQLite.
* Независимая от СУБД модель данных с возможностью горячей замены подключения между различными провайдерами СУБД.
* Графический дизайнер модели данных в MS Visual Studio 2010-2019, встроенные в оболочку шаблон модели данных и контекстные меню для добавления новых элементов в проект.
* Независимая от СУБД поддержка полного набора типов полей данных (даже для SQLite): AnsiString, Binary, Byte, Boolean, Currency, Date, DateTime, Decimal, Double, Guid, Int16, Int32, Int64, Single, String, AnsiStringFixedLength, StringFixedLength, Xml, NText, Text, DateTime2.
* Оптимизатор запросов при сохранении сложных и массовых изменений.
* Параметризация запросов к БД.
* Поддержка нескольких источников данных для одной сущности.
* Расширяемость сущностей данных.
* Поддержка связей между сущностями: "1 к 1", "1 ко многим", "многие к 1", "многие ко многим".
* Настройка выборки данных посредством Linq (условие загрузки данных, ограничение на количество загружаемых данных, управление загрузкой ссылочных полей, выбор источника загрузки, сортировка загружаемых данных, прореживание и т.п.).
* Отдельная функция получение количества данных по запросу Linq и загрузка одиночной записи по запросу.
* Сохранение данных в единой транзакции - как связанных между собой, так и произвольного набора данных.
* Массовое удаление данных с учетом реляционных связей без загрузки данных из БД.
* Массовая вставка записей (Bulk Insert).
* Массовое обновление записей (Bulk Update).
* Событийная модель для отслеживание изменений в сущности данных, загрузки и сохранения данных внутри модели.
* Постраничный динамический курсор данных с кэширование.
* Загрузка данных по произвольному запросу T-SQL.