Repolode
dotnetcore

dotnetcore/FreeSql

FreeSql es un ORM para .NET compatible con AOT, migraciones code-first y numerosas bases de datos, como MySQL, PostgreSQL, SQL Server, Oracle, SQLite y varias bases de datos nacionales de China.

Estrellas
4,409
Forks
910
Issues abiertos
179
Último commit
hace 7 días

¿Qué es?

FreeSql es una biblioteca de mapeo objeto-relacional para .NET compatible con .NET Core 2.1+, .NET Framework 4.0+, Xamarin y escenarios AOT. Los desarrolladores definen clases de entidad en C# o VB.NET y usan una API fluida para consultar, insertar, actualizar y eliminar datos mediante una única instancia de IFreeSql.

La biblioteca cubre tanto la gestión del esquema como el acceso a los datos. Las migraciones code-first mantienen las tablas sincronizadas con las definiciones de las entidades, y DbFirst puede generar clases de entidad a partir de una base de datos existente. Las propiedades de navegación admiten relaciones de uno a varios y de varios a varios, con include y carga diferida, y las consultas basadas en expresiones se pueden personalizar.

La biblioteca es compatible con una amplia variedad de bases de datos, como MySQL, SQL Server, PostgreSQL, Oracle, SQLite, Firebird, ClickHouse, DuckDB, TDengine, QuestDB y MS Access, además de bases de datos nacionales de China como DM (达梦), KingbaseES (人大金仓) y GBase (南大通用). También ofrece separación de lectura y escritura, particionado de tablas y bases de datos, filtros globales y bloqueo optimista y pesimista.

Funciones clave

  • 01Migración de datos code-first y generación de entidades con DbFirst a partir de bases de datos existentes
  • 02Propiedades de navegación con relaciones de uno a varios y de varios a varios, include y carga diferida
  • 03Consultas basadas en expresiones con análisis personalizable
  • 04Separación de lectura y escritura, particionado de tablas y bases de datos, y filtros globales
  • 05Compatibilidad con bloqueo optimista y pesimista
  • 06Compatible con numerosas bases de datos relacionales, analíticas y embebidas, incluidas varias bases de datos nacionales de China

Casos de uso

  • Desarrollar backends .NET que deban funcionar con varias bases de datos mediante una única capa de acceso a datos
  • Conectar desde .NET con bases de datos nacionales de China, como DM, KingbaseES o GBase
  • Añadir separación de lectura y escritura o particionado de tablas a una aplicación .NET de alto volumen
  • Generar clases de entidad a partir del esquema de una base de datos existente

Inicio rápido

  1. 1

    Instala el paquete del proveedor de SQLite

    dotnet add package FreeSql.Provider.Sqlite
  2. 2

    Crea la instancia singleton de IFreeSql con una cadena de conexión

  3. 3

    Define entidades y consulta datos con fsql.Select<T>()

En colecciones

Temas

Preguntas frecuentes

¿Qué es FreeSql?
FreeSql es un ORM para .NET compatible con AOT, migraciones code-first y numerosas bases de datos, como MySQL, PostgreSQL, SQL Server, Oracle, SQLite y varias bases de datos nacionales de China. FreeSql es una biblioteca de mapeo objeto-relacional para .NET compatible con .NET Core 2.1+, .NET Framework 4.0+, Xamarin y escenarios AOT. Los desarrolladores definen clases de entidad en C# o VB.NET y usan una API fluida para consultar, insertar, actualizar y eliminar datos mediante una única instancia de IFreeSql.
¿FreeSql es gratuito? ¿Qué licencia tiene?
FreeSql es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿FreeSql sigue mantenido?
Mantenimiento activo. El último commit de FreeSql fue el 1 nov 2026.
¿Para qué puedo usar FreeSql?
Desarrollar backends .NET que deban funcionar con varias bases de datos mediante una única capa de acceso a datos Conectar desde .NET con bases de datos nacionales de China, como DM, KingbaseES o GBase Añadir separación de lectura y escritura o particionado de tablas a una aplicación .NET de alto volumen Generar clases de entidad a partir del esquema de una base de datos existente
¿Cómo se instala FreeSql?
Instala el paquete del proveedor de SQLite: dotnet add package FreeSql.Provider.Sqlite Crea la instancia singleton de IFreeSql con una cadena de conexión Define entidades y consulta datos con fsql.Select<T>()
¿Dónde consigo FreeSql?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dotnetcore/FreeSql

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados