High-performance object-relational mapping frameworks for C# and .NET that simplify database interaction and data persistence.
EntityFramework is a .NET object-relational mapper that translates application objects into database tables and rows. It functions as a query engine that converts high-level expressions into optimized SQL commands for data retrieval. The project provides a mechanism for monitoring modifications to loaded objects to synchronize application state with the database. It also includes a system for synchronizing database structures with data models using versioned migration scripts. The framework supports multi-backend database integration through a plugin system, allowing a single application to
Entity Framework is the flagship object-relational mapper for the .NET ecosystem, providing comprehensive support for the data mapper pattern, LINQ-based querying, and robust schema migration tools.
Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using strongly-typed code. It serves as a comprehensive data access framework, providing a unified interface for mapping application objects to relational and non-relational database schemas while managing the lifecycle of data operations through a central context. The project distinguishes itself through a provider-based architecture that decouples core data access logic from specific database engines, allowing for consistent interaction across diverse storage systems. It features a
Entity Framework Core is the flagship object-relational mapper for the .NET ecosystem, providing full support for the data mapper pattern, LINQ, schema migrations, and high-performance database-agnostic operations.
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, an
This library provides a high-performance, LINQ-based approach to object-relational mapping that supports a wide range of database providers and advanced SQL operations, fitting the requirements for a .NET data mapper.
Prisma is a type-safe database object-relational mapper that uses a declarative schema to map data models to relational and document databases. It provides a unified toolkit for data access, combining a database driver with tools for schema management and record manipulation. The project features a multi-database driver that standardizes interactions across PostgreSQL, MySQL, and MongoDB. It includes a system for tracking and applying structural schema migrations across different environments and a graphical user interface for browsing and editing database records. The system ensures data in
Prisma is a database toolkit and ORM primarily built for the Node.js and TypeScript ecosystems, and it does not provide the native .NET integration or LINQ support required for a .NET-specific data mapper.