Dapper VS TypeORM

Compare Dapper vs TypeORM and see what are their differences.

Dapper

Dapper - a simple object mapper for .Net [Moved to: https://github.com/DapperLib/Dapper] (by StackExchange)

TypeORM

ORM for TypeScript and JavaScript. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms. (by typeorm)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Dapper TypeORM
9 156
13,651 33,287
- 0.8%
5.1 9.0
about 3 years ago 2 days ago
C# TypeScript
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Dapper

Posts with mentions or reviews of Dapper. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-13.
  • Working with ListView in Windows Forms
    3 projects | dev.to | 13 Jan 2024
    Even those the old backend code to read from a database would work, the code was rewritten using Dapper. Had to add two column aliases in SQL SELECT statements and everything worked.
  • Import data from a database with Dapper and SpreadsheetLight to Excel in C#
    2 projects | dev.to | 6 Nov 2023
    In this article learn how to create Excel spreadsheet documents from reading data from two SQL-Server table from a modified version of Microsoft NorthWind database using NuGet package Dapper and SpreadSheetLight to create and populate the spreadsheet files.
  • Multiple Result Sets for SQL-Server (C#) including Dapper
    2 projects | dev.to | 2 Oct 2023
    Learn how to read reference table from SQL-Server using a single method. What is shown provides an efficient way to either use a connection, command objects to read data via a SqlDataReader for conventional work using methods from SqlClient and also Dapper which requires two lines of code to read data and one line of code to store data into list.
  • BREAKING!! NPM package ‘ua-parser-js’ with more than 7M weekly download is compromised
    32 projects | /r/programming | 22 Oct 2021
    https://www.nuget.org/packages/Newtonsoft.Json/ https://www.nuget.org/packages/AutoMapper/ https://www.nuget.org/packages/Dapper/ https://www.nuget.org/packages/FluentValidation/ https://www.nuget.org/packages/FluentAssertions/ https://www.nuget.org/packages/NUnit/ https://www.nuget.org/packages/xunit/ https://www.nuget.org/packages/YamlDotNet/ https://www.nuget.org/packages/Moq/ That is simply not true. Mature c# projects purposely maintain no downstream dependencies and is they do, it's to a major reputable lib. See for yourself - these are staple third party packages commonly used. Anything dependency starting with System or NETStandard is Microsoft maintained.
  • How to Build a Blazor CRUD Application with Dapper
    2 projects | dev.to | 10 Mar 2021
    In this blog post, we are going to discuss how to bind the Syncfusion Blazor DataGrid with a database using Dapper and perform CRUD operations. To demonstrate this, we are going to create a bug tracker database table in MS SQL Server and perform CRUD operations in that table in a Blazor server-side application.
  • A couple of questions about dotnet from a Java developer :)
    5 projects | /r/dotnet | 19 Feb 2021
    Entity Framework Core StackExchange/Dapper
  • Requests per second 12 requests per second – Realistic Python web frameworks
    17 projects | news.ycombinator.com | 18 Feb 2021
    Like there wouldn't be anything in between /s

    There are "simple ORMs" that only map results of SQL queries to objects. They do not provide a magic query API - which is the source of most problems. I don't do Python, but for .NET there is Dapper https://github.com/StackExchange/Dapper, you can have a look what I mean. You write the SQL query, explicitly execute it, the library maps the results of that query into objects (it's C#, so you have to declare the class. In Python I'd imagine it would create the object for you)

  • Why would I even bother using Dapper?
    1 project | /r/dotnet | 13 Feb 2021
    To add some differences: EF tracks object state in an instance of a context, Dapper does not. Dapper is strictly for object mapping (taking the output of a query and mapping it onto an object). This makes Dapper far easier to implement, versus EF’s DbContext configuration. Due to the lack of tracking and slimmer wrapping, it’s also faster. Things get really great when you have multiple complex objects and multiple result sets. It takes a lot of boring boilerplate code out of your code.
  • Plans for Entity Framework Core 6.0 revealed as Microsoft admits it is unlikely to match Dapper for performance
    4 projects | /r/dotnet | 21 Jan 2021
    Just take a look at this Dapper 2.0 feature that's been festering for months years.

TypeORM

Posts with mentions or reviews of TypeORM. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-19.
  • NodeJS Security Best Practices
    11 projects | dev.to | 19 Feb 2024
    If you use Sequalize, TypeORM or for MongoDB, we have Mongoose these types of ORM tools, then you are safe by default because these help us against the SQL query injection attacks by default.
  • [DDD] Tactical Design Patterns Part 3: Presentation/Infrastructure Layer
    4 projects | dev.to | 16 Jan 2024
    We decided to use MySQL for a database. and TypeOrm for ORM. The ER diagram is provided below. For example, the task_assignments table holds information about user assignments to tasks. While in DDD, there is a pattern to design denormalized tables that reflect the structure of domain objects more directly, but this time, a more conventional table design was chosen. TypeOrm models:
  • Optimizing SQL Queries by 23x!!!
    1 project | dev.to | 15 Jan 2024
  • SQLSync – Stop Building Databases
    7 projects | news.ycombinator.com | 1 Dec 2023
    How does this compare to using directly an ORM lib that supports browser like TypeORM [0] via SQL.js [1]?

    [0] https://typeorm.io/

  • Deno Cron
    15 projects | news.ycombinator.com | 29 Nov 2023
    * Patch a third-party library that was setting an HTTP header to `null`. NodeJS handles this case just fine, but Deno throws an error [2].

    After all of that work, I finally was able to use Deno in my project. It was really cool! Unfortunately, both VS Code and IntelliJ with Deno are essentially unusable [3]. Or, at least, unacceptably slow compared to what I had with NodeJS.

    [0]: https://stackoverflow.com/a/66073607

    [1]: https://github.com/typeorm/typeorm/issues/6123#issuecomment-...

    [2]: https://github.com/Sansossio/twisted/issues/97

    [3]: https://github.com/denoland/vscode_deno/issues/895

  • TypeORM - remove children with orphanedRowAction
    3 projects | dev.to | 6 Nov 2023
    TypeORM is a very convenient ORM for JS apps. We use it with NestJS and running it on NodeJS.
  • Authentication part 3 using NestJS and Postgres database neon.tech
    4 projects | dev.to | 25 Oct 2023
    We are going to start using TypeORM as an ORM to help us interact with Postgres, but we also have an example of using Prisma in the future and everything that we have to adapt to switch the ORMs if necessary. At the end we are implementing neon.tech as a production database, right? 😉
  • From Good to Great: Scaling Applications with TypeORM Optimization
    4 projects | dev.to | 16 Oct 2023
    TypeORM is a popular Object-Relational Mapping (ORM) library for Node.js. It provides a high-level abstraction over relational databases, making it easy to perform CRUD (Create, Read, Update, Delete) operations.
  • Top 6 ORMs for Modern Node.js App Development
    7 projects | dev.to | 11 Oct 2023
    TypeORM places its focus on TypeScript and JavaScript (ES7+) development. It offers compatibility with various database systems, including MySQL, PostgreSQL, SQLite, and MongoDB. What sets TypeORM apart is its robust integration with TypeScript. It provides a user-friendly experience with a convenient decorator-based syntax for defining entities and relationships. Additionally, TypeORM supports the repository pattern and enables eager loading, enhancing its versatility for developers.
  • Deep Dive into Google Cloud SQL Connector for Node.js
    4 projects | dev.to | 9 Oct 2023
    ᴬ typeorm officially supports mssql@v9, but the support for the custom stream builder was added in mssql@v10. Since mssql is a peer dependency of typeorm, you can force override it and use the Cloud SQL Connector with typeorm. There is an open PR to add support for mssql@v10 in typeorm.

What are some alternatives?

When comparing Dapper and TypeORM you can also consider the following projects:

LINQ to DB - Linq to database provider.

Sequelize - Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB (v6), DB2 and DB2 for IBM i.

PetaPoco - Official PetaPoco, A tiny ORM-ish thing for your POCO's

Mongoose - MongoDB object modeling designed to work in an asynchronous environment.

Entity Framework - EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.

Prisma - Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

MongoDB Repository pattern implementation

Objection.js - An SQL-friendly ORM for Node.js

NPoco - Simple microORM that maps the results of a query onto a POCO object. Project based on Schotime's branch of PetaPoco

MikroORM - TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, MS SQL Server, PostgreSQL and SQLite/libSQL databases.

NHibernate - NHibernate Object Relational Mapper