Dapper Plus

Download Count:
Extend Dapper with IDbConnection
// CONFIGURE & MAP entity
                 .Identity(x => x.ID);

// CHAIN & SAVE entity
    .AlsoInsert(order => order.Items);
    .Include(x => x.ThenMerge(order => order.Invoice)
        .AlsoMerge(invoice => invoice.Items))
    .AlsoMerge(x => x.ShippingAddress);   
Flexible and feature-rich API
// Bulk Insert with "One to One" Relation
connection.BulkInsert(orders, order => order.Invoice);

// Bulk Insert with "One to Many" Relation
connection.BulkInsert(orders, order => order.Items);

//Bulk Insert with "Mixed" Relation
connection.BulkInsert(orders, order => order.Items, 
    order => order.Invoice);

Amazing performance, outstanding support!

We were very, very pleased with the customer support. There was no question, problem or wish that was not answered AND solved within days! We think that’s very unique!

I’d definitely recommend it as it is a great product with a great performance and reliability.

It’s great. It took me 5 minutes to implement it and makes my application 100x more responsive for certain database operations.

Dave Weisberg


Dapper Plus Mapper allow to map the conceptual model (Entity) with the storage model (Database) and configure options to perform Bulk Actions.

Mapper Examples
// Easy to use
                                 .Identity(x => x.ID)

Bulk Actions

Bulk Actions allow to perform a bulk insert, update, delete or merge and include related child items.

  • Bulk Insert
  • Bulk Update
  • Bulk Delete
  • Bulk Merge
Bulk Actions Examples
connection.BulkInsert(orders, order => order.Items)
          .BulkInsert(invoices, invoice => invoice.Items)

Also Bulk Actions

Also Bulk Actions allow to perform bulk action with a lambda expression using entities from the last Bulk[Action] or ThenBulk[Action] used.

Also Bulk Actions Examples
          .AlsoInsert(order => order.Items)
          .AlsoInsert(order => order.Invoice)
          .AlsoInsert(order => order.Invoice.Items);

Then Bulk Actions

Then Bulk Actions is similar to Also Bulk Actions but modify entities used for the next bulk action using a lambda expression.

Then Bulk Actions Examples
          .AlsoInsert(order => order.Items)
          .ThenInsert(order => order.Invoice)
          .ThenInsert(invoice => invoice.Items);

Include Actions

The Dapper Plus Include method allow resolving issues with multiple "ThenBulk[Action]" method.

Include Actions Examples
          .Include(x => x.ThenInsert(order => order.Items)
                         .ThenInsert(orderItem => orderItem.Metas))
          .Include(x => x.ThenInsert(order => order.Invoice)
                         .ThenInsert(Invoice => invoice.Items));