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