NoSQL-документная база данных с транзакциями ACID, написанная на C#: веб-интерфейс Studio, индексация, полнотекстовый и векторный поиск, шардинг.
dotnetcore/FreeSql
FreeSql — ORM для .NET с поддержкой AOT, миграций code-first и множества баз данных, включая MySQL, PostgreSQL, SQL Server, Oracle, SQLite и несколько китайских СУБД.
- Звёзды
- 4,409
- Форки
- 910
- Открытые issues
- 179
- Последний коммит
- 7 дней назад
Что это?
FreeSql — библиотека объектно-реляционного отображения для .NET, рассчитанная на .NET Core 2.1+, .NET Framework 4.0+, Xamarin и сценарии с AOT. Разработчики описывают сущности на C# или VB.NET и через fluent API выполняют запросы, вставку, обновление и удаление данных, используя один экземпляр IFreeSql.
Библиотека поддерживает как работу со схемой, так и доступ к данным. Миграции code-first синхронизируют таблицы с описаниями сущностей, а DbFirst генерирует классы сущностей на основе существующей базы данных. Навигационные свойства поддерживают связи «один ко многим» и «многие ко многим», а также include и ленивую загрузку; запросы на основе выражений можно настраивать.
Библиотека работает со множеством баз данных, включая MySQL, SQL Server, PostgreSQL, Oracle, SQLite, Firebird, ClickHouse, DuckDB, TDengine, QuestDB и MS Access, а также с китайскими СУБД, такими как DM (达梦), KingbaseES (人大金仓) и GBase (南大通用). Также доступны разделение чтения и записи, шардирование таблиц и баз данных, глобальные фильтры, а также оптимистичные и пессимистичные блокировки.
Ключевые возможности
- 01Миграции данных code-first и генерация сущностей DbFirst из существующих баз данных
- 02Навигационные свойства со связями «один ко многим» и «многие ко многим», include и ленивой загрузкой
- 03Запросы на основе выражений с настраиваемым анализом
- 04Разделение чтения и записи, шардирование таблиц и баз данных, глобальные фильтры
- 05Поддержка оптимистичных и пессимистичных блокировок
- 06Работа с множеством реляционных, аналитических и встраиваемых баз данных, включая несколько китайских СУБД
Сценарии использования
- Разработка серверных приложений на .NET, которым нужно работать с несколькими базами данных через единый слой доступа к данным
- Работа с китайскими СУБД, такими как DM, KingbaseES или GBase, из .NET-приложений
- Добавление разделения чтения и записи или шардирования таблиц в высоконагруженное приложение на .NET
- Генерация классов сущностей на основе существующей схемы базы данных
Быстрый старт
- 1
Установите пакет провайдера SQLite
dotnet add package FreeSql.Provider.Sqlite - 2
Создайте singleton-экземпляр IFreeSql с помощью строки подключения
- 3
Определите сущности и запрашивайте данные с помощью fsql.Select<T>()
В подборках
Темы
Частые вопросы
- Что такое FreeSql?
- FreeSql — ORM для .NET с поддержкой AOT, миграций code-first и множества баз данных, включая MySQL, PostgreSQL, SQL Server, Oracle, SQLite и несколько китайских СУБД. FreeSql — библиотека объектно-реляционного отображения для .NET, рассчитанная на .NET Core 2.1+, .NET Framework 4.0+, Xamarin и сценарии с AOT. Разработчики описывают сущности на C# или VB.NET и через fluent API выполняют запросы, вставку, обновление и удаление данных, используя один экземпляр IFreeSql.
- FreeSql можно использовать бесплатно? Какая у него лицензия?
- FreeSql распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- FreeSql всё ещё поддерживается?
- Активно поддерживается. Последний коммит в FreeSql — 1 нояб. 2026 г..
- Для чего можно использовать FreeSql?
- Разработка серверных приложений на .NET, которым нужно работать с несколькими базами данных через единый слой доступа к данным Работа с китайскими СУБД, такими как DM, KingbaseES или GBase, из .NET-приложений Добавление разделения чтения и записи или шардирования таблиц в высоконагруженное приложение на .NET Генерация классов сущностей на основе существующей схемы базы данных
- Как установить FreeSql?
- Установите пакет провайдера SQLite: dotnet add package FreeSql.Provider.Sqlite Создайте singleton-экземпляр IFreeSql с помощью строки подключения Определите сущности и запрашивайте данные с помощью fsql.Select<T>()
- Где скачать FreeSql?
- Исходный код и инструкции по установке — на GitHub: https://github.com/dotnetcore/FreeSql
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Протокол на основе JSON и ORM-библиотека: клиенты задают нужные данные и формат ответа, а бэкенд обслуживает множество API без отдельных вручную написанных эндпоинтов.
TypeScript ORM для Node.js с типобезопасным доступом к PostgreSQL, MySQL, SQLite, MongoDB и другим базам данных.
Полнофункциональная ORM для Go: преобразует структуры в таблицы БД и поддерживает связи, хуки, транзакции и миграции.
SQLModel — библиотека Python для работы с SQL-базами данных через классы Python, построенная на Pydantic и SQLAlchemy и предназначенная для совместного использования с FastAPI.
ORM для Node.js на TypeScript, построенная на паттернах Data Mapper, Unit of Work и Identity Map; поддерживает SQL и MongoDB.