SmartSql — это лёгкий и высокопроизводительный ORM-фреймворк для платформы .NET, вдохновлённый концепциями MyBatis. Он предоставляет гибкий подход к работе с базами данных, разделяя SQL-запросы от кода приложения и поддерживая динамические запросы, маппинг и кэширование. SmartSql ориентирован на разработчиков, которым важен контроль над SQL и высокая производительность при работе с данными.
Основной особенностью SmartSql является использование XML-конфигурации для определения SQL-запросов, что позволяет отделить логику работы с базой данных от бизнес-логики приложения. Это облегчает поддержку и расширение кода, а также улучшает читаемость. SmartSql поддерживает асинхронные операции, работу с несколькими базами данных и предоставляет инструменты для кэширования и разделения операций чтения и записи.
- Использование XML для определения SQL-запросов — позволяет отделить SQL от кода приложения и улучшить читаемость и поддержку кода.
- Поддержка динамических SQL-запросов — предоставляет возможность строить сложные запросы с условиями и фильтрами.
- Маппинг результатов запросов — автоматическое преобразование данных из базы данных в объекты приложения.
- Кэширование — поддержка кэширования на уровне памяти и Redis для повышения производительности.
- Разделение операций чтения и записи — возможность настройки маршрутизации запросов для оптимизации работы с базой данных.
- Асинхронные операции — поддержка асинхронных методов для улучшения отзывчивости приложения.
- Поддержка нескольких баз данных — возможность работы с различными СУБД, включая MySQL и PostgreSQL.
- Инструменты для диагностики — предоставление механизмов для отслеживания и анализа производительности запросов.
- Генерация кода — возможность автоматической генерации кода для операций CRUD.
- Поддержка плагинов — возможность расширения функциональности с помощью пользовательских плагинов и перехватчиков.