Repolode
dotnetcore

dotnetcore/FreeSql

FreeSql é um ORM para .NET com suporte a AOT, migrações code-first e diversos bancos de dados, incluindo MySQL, PostgreSQL, SQL Server, Oracle, SQLite e vários bancos chineses.

Estrelas
4,409
Forks
910
Issues abertas
179
Último commit
há 7 dias

O que é?

FreeSql é uma biblioteca de mapeamento objeto-relacional para .NET, compatível com .NET Core 2.1+, .NET Framework 4.0+, Xamarin e cenários com AOT. Os desenvolvedores definem classes de entidade em C# ou VB.NET e usam uma API fluente para consultar, inserir, atualizar e excluir dados por meio de uma única instância de IFreeSql.

A biblioteca abrange tanto o trabalho com esquemas quanto o acesso a dados. As migrações code-first mantêm as tabelas sincronizadas com as definições das entidades, e o DbFirst pode gerar classes de entidade a partir de um banco de dados existente. Propriedades de navegação dão suporte a relacionamentos um-para-muitos e muitos-para-muitos, com include e lazy loading, e as consultas baseadas em expressões podem ser personalizadas.

A biblioteca é compatível com diversos bancos de dados, incluindo MySQL, SQL Server, PostgreSQL, Oracle, SQLite, Firebird, ClickHouse, DuckDB, TDengine, QuestDB e MS Access, além de bancos chineses como DM (达梦), KingbaseES (人大金仓) e GBase (南大通用). Também oferece separação de leitura e escrita, sharding de tabelas e bancos de dados, filtros globais e bloqueios otimistas e pessimistas.

Recursos principais

  • 01Migração de dados code-first e geração de entidades com DbFirst a partir de bancos de dados existentes
  • 02Propriedades de navegação com relacionamentos um-para-muitos e muitos-para-muitos, include e lazy loading
  • 03Consultas baseadas em expressões com análise personalizável
  • 04Separação de leitura e escrita, sharding de tabelas e bancos de dados e filtros globais
  • 05Suporte a bloqueios otimistas e pessimistas
  • 06Compatibilidade com diversos bancos de dados relacionais, analíticos e embarcados, incluindo vários bancos chineses

Casos de uso

  • Criar backends .NET que precisam oferecer suporte a vários bancos de dados usando uma única camada de acesso a dados
  • Acessar bancos de dados chineses como DM, KingbaseES ou GBase a partir do .NET
  • Adicionar divisão de leitura e escrita ou sharding de tabelas a uma aplicação .NET de alto volume
  • Gerar classes de entidade a partir do esquema de um banco de dados existente

Início rápido

  1. 1

    Instale o pacote do provedor SQLite

    dotnet add package FreeSql.Provider.Sqlite
  2. 2

    Crie a instância singleton de IFreeSql com uma string de conexão

  3. 3

    Defina entidades e consulte dados com fsql.Select<T>()

Em coleções

Tópicos

Perguntas frequentes

O que é FreeSql?
FreeSql é um ORM para .NET com suporte a AOT, migrações code-first e diversos bancos de dados, incluindo MySQL, PostgreSQL, SQL Server, Oracle, SQLite e vários bancos chineses. FreeSql é uma biblioteca de mapeamento objeto-relacional para .NET, compatível com .NET Core 2.1+, .NET Framework 4.0+, Xamarin e cenários com AOT. Os desenvolvedores definem classes de entidade em C# ou VB.NET e usam uma API fluente para consultar, inserir, atualizar e excluir dados por meio de uma única instância de IFreeSql.
FreeSql é gratuito? Qual é a licença?
FreeSql é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
FreeSql ainda é mantido?
Manutenção ativa. O último commit de FreeSql foi em 1 de nov. de 2026.
Para que posso usar FreeSql?
Criar backends .NET que precisam oferecer suporte a vários bancos de dados usando uma única camada de acesso a dados Acessar bancos de dados chineses como DM, KingbaseES ou GBase a partir do .NET Adicionar divisão de leitura e escrita ou sharding de tabelas a uma aplicação .NET de alto volume Gerar classes de entidade a partir do esquema de um banco de dados existente
Como instalar FreeSql?
Instale o pacote do provedor SQLite: dotnet add package FreeSql.Provider.Sqlite Crie a instância singleton de IFreeSql com uma string de conexão Defina entidades e consulte dados com fsql.Select<T>()
Onde consigo FreeSql?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dotnetcore/FreeSql

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados