Repolode
dotnetcore

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. 1

    Установите пакет провайдера SQLite

    dotnet add package FreeSql.Provider.Sqlite
  2. 2

    Создайте singleton-экземпляр IFreeSql с помощью строки подключения

  3. 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 без отдельных вручную написанных эндпоинтов.

18,4 тыс.2,3 тыс.JavaOtherАктивно поддерживаетсяОбновлён 7 дней назад

SQLModel — библиотека Python для работы с SQL-базами данных через классы Python, построенная на Pydantic и SQLAlchemy и предназначенная для совместного использования с FastAPI.

18,5 тыс.+39 за неделю897PythonMITАктивно поддерживаетсяОбновлён 5 дней назад