Base de datos documental NoSQL ACID escrita en C#, con Studio web integrado, indexación, búsqueda de texto completo y vectorial, y sharding.
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
Instala el paquete del proveedor de SQLite
dotnet add package FreeSql.Provider.Sqlite - 2
Crea la instancia singleton de IFreeSql con una cadena de conexión
- 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
Protocolo basado en JSON y biblioteca ORM que permiten a los clientes definir los datos y la estructura de respuesta que necesitan, para que los backends ofrezcan muchas API sin crear endpoints a mano.
ORM de TypeScript para Node.js que ofrece acceso a bases de datos con seguridad de tipos en PostgreSQL, MySQL, SQLite, MongoDB y otras bases de datos.
Un ORM completo para Go que asigna structs a tablas de bases de datos y admite asociaciones, hooks, transacciones y migraciones.
SQLModel es una biblioteca de Python para trabajar con bases de datos SQL mediante clases de Python, basada en Pydantic y SQLAlchemy y diseñada para integrarse con FastAPI.
ORM para Node.js escrito en TypeScript, basado en los patrones Data Mapper, Unit of Work e Identity Map, compatible con SQL y MongoDB.