awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
linq2db avatar

linq2db/linq2db

0
View on GitHub↗

Linq2db

linq2db is a type-safe object-relational mapper that translates LINQ expressions into optimized SQL queries for multiple database providers. It functions as a database mapper that links classes to tables and includes a SQL query builder and a command-line schema tool for generating data classes from existing databases.

The project provides high-performance bulk data processing for inserting and loading large volumes of records via batch or binary copy methods. It also supports advanced SQL operations, including window functions, common table expressions for recursive hierarchical querying, and dataset merging.

The library covers a broad range of data manipulation and query execution capabilities, including optimistic locking, query result pagination, and many-to-many navigation translation. It also includes systems for connection lifecycle management, transaction atomicity, and database operation interception.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Class-Based Schema Mappings - Links C# classes to database tables using attributes, fluent configurations, or naming inference.
  • Type-Safe Query Builders - Provides a type-safe query builder that uses C# expressions to ensure compile-time safety for database queries.
  • Database Schema Mapping - Links database tables and packages to C# classes using attributes or fluent configurations for structured data access.
  • Database Transaction Management - Provides programmatic control over database transaction boundaries and connection lifecycles to ensure atomicity.
  • Expression-Based Data Querying - Executes type-safe queries supporting composition, pagination, and selective column projection.
  • LINQ Expression Translators - Converts LINQ expression trees into optimized, provider-specific SQL command trees.
  • SQL Dialect Adapters - Provides a common interface to abstract database-specific syntax and functions across multiple SQL engines.
  • SQL Query Builders - Provides a programmatic builder for constructing complex SQL queries with joins and window functions.
  • Table-to-Code Mappers - Maps database tables to C# classes to enable type-safe interactions and query validation.
  • Transaction Lifecycle Control - Manages the commitment or rollback of atomic database operations to ensure data integrity.
  • Bulk Data Ingestion - Implements high-performance utilities for importing large volumes of data using provider-specific binary protocols.
  • Bulk Data Loading - Provides high-performance utilities for importing massive datasets from external sources into database tables.
  • Common Table Expressions - Allows the creation of reusable temporary result sets within queries to simplify complex logic.
  • Batch Insertion Interfaces - Inserts large collections of records using efficient batching or binary copy interfaces.
  • Database-to-Code Scaffolding - Ships a command-line tool to automatically generate data classes from an existing database schema.
  • Database Connection Lifecycles - Controls the lifecycle of database connections through explicit disposal or per-query operations.
  • Hierarchical Querying - Traverses self-referencing data structures and hierarchical relationships using specialized recursive querying.
  • Join Operations - Provides inner and left join syntax within expressions to combine data from multiple tables.
  • Table Merge Semantics - Synchronizes two tables by inserting, updating, or deleting records based on join conditions.
  • Many-to-Many Relationship Managers - Translates queries over implicit join tables into SQL while supporting eager loading and composite keys.
  • Advanced SQL Construct Execution - Provides execution support for advanced SQL constructs like window functions and common table expressions through an object-oriented interface.
  • Recursive CTE Queries - Supports traversing self-referencing data structures and hierarchical relationships using recursive common table expressions.
  • Deferred Query Compilation - Builds internal query representations as expression trees that are only compiled to SQL upon execution.
  • Window Functions - Implements analytic window functions for performing calculations across sets of rows using partitioning and ordering.
  • Model Generators - Includes a command-line tool for generating data classes based on an existing database schema.
  • Custom SQL Function Registrars - Exposes database-specific functions to the query builder by defining signatures and argument conversion logic.
  • Method Mapping - Binds C# static methods to native database functions to enable complex expressions in type-safe queries.
  • Object Relational Mappers - Fast, type-safe LINQ database access layer for POCO objects.
3,239 stars·482 forks·C#·mit·37 views

Star history

Star history chart for linq2db/linq2dbStar history chart for linq2db/linq2db

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Linq2db

These projects share indexed features with Linq2db. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • uptrace/bunuptrace avatar

    uptrace/bun

    4,867View on GitHub↗

    Bun is a type-safe object relational mapper for Go that prioritizes SQL-first query construction and result mapping. It functions as a programmable SQL query builder, a database connection manager, and a tool for mapping database tables to Go structs. The project distinguishes itself through a multi-dialect SQL support system, allowing a single codebase to interact with different database engines via a consistent interface. It includes a built-in database observability tool for query interception, distributed tracing, and logging, as well as a schema migration tool for versioning structural c

    Godatabasegogolang
    View on GitHub↗4,867
  • dotnetcore/freesqldotnetcore avatar

    dotnetcore/FreeSql

    4,388View on GitHub↗

    FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro

    C#accessclickhousecodefirst
    View on GitHub↗4,388
  • sqlalchemy/sqlalchemysqlalchemy avatar

    sqlalchemy/sqlalchemy

    11,612View on GitHub↗

    SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for interacting with relational databases. It serves as a foundational layer for database connectivity, offering both a high-level object-oriented interface for data persistence and a programmatic SQL expression language for constructing complex, dialect-agnostic queries. The project distinguishes itself through its sophisticated unit of work persistence, which coordinates atomic transactions and tracks object state changes to minimize redundant database operations. It provides a

    Pythonpythonsqlsqlalchemy
    View on GitHub↗11,612
  • go-pg/pggo-pg avatar

    go-pg/pg

    5,785View on GitHub↗

    pg is a PostgreSQL object-relational mapper (ORM) for Go that maps Go structs to database tables and provides a fluent query builder for constructing SQL statements programmatically. At its core, it automatically generates CREATE TABLE statements from Go struct definitions using struct tags and naming conventions, and builds queries through method chaining with placeholder-based parameter binding to prevent SQL injection. The library distinguishes itself through relation-aware join generation that automatically constructs JOIN clauses for has-one, has-many, many-to-many, and polymorphic assoc

    Go
    View on GitHub↗5,785
Compare all 30 related projects→

Frequently asked questions

What does linq2db/linq2db do?

linq2db is a type-safe object-relational mapper that translates LINQ expressions into optimized SQL queries for multiple database providers. It functions as a database mapper that links classes to tables and includes a SQL query builder and a command-line schema tool for generating data classes from existing databases.

What are the main features of linq2db/linq2db?

The main features of linq2db/linq2db are: Class-Based Schema Mappings, Type-Safe Query Builders, Database Schema Mapping, Database Transaction Management, Expression-Based Data Querying, LINQ Expression Translators, SQL Dialect Adapters, SQL Query Builders.

Which projects share features with linq2db/linq2db?

Projects with overlapping indexed features include: uptrace/bun — Bun is a type-safe object relational mapper for Go that prioritizes SQL-first query construction and result mapping.… dotnetcore/freesql — FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for… sqlalchemy/sqlalchemy — SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for… go-pg/pg — pg is a PostgreSQL object-relational mapper (ORM) for Go that maps Go structs to database tables and provides a fluent… typeorm/typeorm — TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented… vincit/objection.js — Objection.js is an object-relational mapper for Node.js that maps SQL database tables to classes and rows to model…