Latest commit

History

222 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

What's Dapper Plus?

Like Dapper, Dapper Plus is a NuGet library where you can add to your project that will extend your IDbConnection and IDbTransaction interface with high efficient Bulk Actions Helpers (Insert, Update, Delete, and Merge).

It can be used with or without Dapper, and it's compatible with all other Dapper packages.

Example

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;// CONFIGURE & MAP entityDapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID);// CHAIN & SAVE entityconnection.BulkInsert(orders).AlsoInsert(order =>order.Items);.Include(order =>order.ThenMerge(order =>order.Invoice).AlsoMerge(invoice =>invoice.Items)).AlsoMerge(order =>order.ShippingAddress);

Download

nugetnuget

PM> Install-Package Z.Dapper.Plus

* PRO Version unlocked for the current month

Wiki

Introduction

Dapper Plus - Mapper

PRO License

Mapper

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;DapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID).BatchSize(200);

Bulk Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders, order =>order.Items).BulkInsert(invoices, invoice =>invoice.Items).BulkMerge(shippingAddresses);

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.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).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 modifies entities used for the next bulk action using a lambda expression.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).AlsoInsert(order =>order.Items).ThenInsert(order =>order.Invoice).ThenInsert(invoice =>invoice.Items);

Include Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

Transaction

All Dapper Plus extension methods are also available on the IDbTransaction interface

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;transaction.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

DB Provider Supported

All major database providers are supported or under development.

  • SQL Server 2008+
  • SQL Azure
  • SQL Compact
  • SQLite
  • MySQL
  • PostgreSQL
  • Oracle

PRO

PRO Version unlocked for the current month

FeaturesPRO Version
Bulk InsertYes
Bulk UpdateYes
Bulk DeleteYes
Bulk MergeYes
Bulk Action AsyncYes
Bulk Also ActionYes
Bulk Then ActionYes
Commercial LicenseYes
Royalty-FreeYes
Support & Upgrades (1 year)Yes

Learn more about the PRO Version.

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

To view all our free and paid projects, visit our website ZZZ Projects.

About

Dapper Plus - High-Efficient Bulk Actions (Insert, Update, Delete, and Merge) for .NET

Topics

Resources

Stars

428 stars

Watchers

22 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

222 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

What's Dapper Plus?

Like Dapper, Dapper Plus is a NuGet library where you can add to your project that will extend your IDbConnection and IDbTransaction interface with high efficient Bulk Actions Helpers (Insert, Update, Delete, and Merge).

It can be used with or without Dapper, and it's compatible with all other Dapper packages.

Example

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;// CONFIGURE & MAP entityDapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID);// CHAIN & SAVE entityconnection.BulkInsert(orders).AlsoInsert(order =>order.Items);.Include(order =>order.ThenMerge(order =>order.Invoice).AlsoMerge(invoice =>invoice.Items)).AlsoMerge(order =>order.ShippingAddress);

Download

nugetnuget

PM> Install-Package Z.Dapper.Plus

* PRO Version unlocked for the current month

Wiki

Introduction

Dapper Plus - Mapper

PRO License

Mapper

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;DapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID).BatchSize(200);

Bulk Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders, order =>order.Items).BulkInsert(invoices, invoice =>invoice.Items).BulkMerge(shippingAddresses);

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.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).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 modifies entities used for the next bulk action using a lambda expression.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).AlsoInsert(order =>order.Items).ThenInsert(order =>order.Invoice).ThenInsert(invoice =>invoice.Items);

Include Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

Transaction

All Dapper Plus extension methods are also available on the IDbTransaction interface

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;transaction.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

DB Provider Supported

All major database providers are supported or under development.

  • SQL Server 2008+
  • SQL Azure
  • SQL Compact
  • SQLite
  • MySQL
  • PostgreSQL
  • Oracle

PRO

PRO Version unlocked for the current month

FeaturesPRO Version
Bulk InsertYes
Bulk UpdateYes
Bulk DeleteYes
Bulk MergeYes
Bulk Action AsyncYes
Bulk Also ActionYes
Bulk Then ActionYes
Commercial LicenseYes
Royalty-FreeYes
Support & Upgrades (1 year)Yes

Learn more about the PRO Version.

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

To view all our free and paid projects, visit our website ZZZ Projects.

About

Dapper Plus - High-Efficient Bulk Actions (Insert, Update, Delete, and Merge) for .NET

Topics

Resources

Stars

428 stars

Watchers

22 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

222 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

What's Dapper Plus?

Like Dapper, Dapper Plus is a NuGet library where you can add to your project that will extend your IDbConnection and IDbTransaction interface with high efficient Bulk Actions Helpers (Insert, Update, Delete, and Merge).

It can be used with or without Dapper, and it's compatible with all other Dapper packages.

Example

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;// CONFIGURE & MAP entityDapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID);// CHAIN & SAVE entityconnection.BulkInsert(orders).AlsoInsert(order =>order.Items);.Include(order =>order.ThenMerge(order =>order.Invoice).AlsoMerge(invoice =>invoice.Items)).AlsoMerge(order =>order.ShippingAddress);

Download

nugetnuget

PM> Install-Package Z.Dapper.Plus

* PRO Version unlocked for the current month

Wiki

Introduction

Dapper Plus - Mapper

PRO License

Mapper

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;DapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID).BatchSize(200);

Bulk Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders, order =>order.Items).BulkInsert(invoices, invoice =>invoice.Items).BulkMerge(shippingAddresses);

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.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).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 modifies entities used for the next bulk action using a lambda expression.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).AlsoInsert(order =>order.Items).ThenInsert(order =>order.Invoice).ThenInsert(invoice =>invoice.Items);

Include Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

Transaction

All Dapper Plus extension methods are also available on the IDbTransaction interface

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;transaction.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

DB Provider Supported

All major database providers are supported or under development.

  • SQL Server 2008+
  • SQL Azure
  • SQL Compact
  • SQLite
  • MySQL
  • PostgreSQL
  • Oracle

PRO

PRO Version unlocked for the current month

FeaturesPRO Version
Bulk InsertYes
Bulk UpdateYes
Bulk DeleteYes
Bulk MergeYes
Bulk Action AsyncYes
Bulk Also ActionYes
Bulk Then ActionYes
Commercial LicenseYes
Royalty-FreeYes
Support & Upgrades (1 year)Yes

Learn more about the PRO Version.

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

To view all our free and paid projects, visit our website ZZZ Projects.

About

Dapper Plus - High-Efficient Bulk Actions (Insert, Update, Delete, and Merge) for .NET

Topics

Resources

Stars

428 stars

Watchers

22 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

222 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

What's Dapper Plus?

Like Dapper, Dapper Plus is a NuGet library where you can add to your project that will extend your IDbConnection and IDbTransaction interface with high efficient Bulk Actions Helpers (Insert, Update, Delete, and Merge).

It can be used with or without Dapper, and it's compatible with all other Dapper packages.

Example

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;// CONFIGURE & MAP entityDapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID);// CHAIN & SAVE entityconnection.BulkInsert(orders).AlsoInsert(order =>order.Items);.Include(order =>order.ThenMerge(order =>order.Invoice).AlsoMerge(invoice =>invoice.Items)).AlsoMerge(order =>order.ShippingAddress);

Download

nugetnuget

PM> Install-Package Z.Dapper.Plus

* PRO Version unlocked for the current month

Wiki

Introduction

Dapper Plus - Mapper

PRO License

Mapper

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;DapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID).BatchSize(200);

Bulk Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders, order =>order.Items).BulkInsert(invoices, invoice =>invoice.Items).BulkMerge(shippingAddresses);

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.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).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 modifies entities used for the next bulk action using a lambda expression.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).AlsoInsert(order =>order.Items).ThenInsert(order =>order.Invoice).ThenInsert(invoice =>invoice.Items);

Include Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

Transaction

All Dapper Plus extension methods are also available on the IDbTransaction interface

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;transaction.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

DB Provider Supported

All major database providers are supported or under development.

  • SQL Server 2008+
  • SQL Azure
  • SQL Compact
  • SQLite
  • MySQL
  • PostgreSQL
  • Oracle

PRO

PRO Version unlocked for the current month

FeaturesPRO Version
Bulk InsertYes
Bulk UpdateYes
Bulk DeleteYes
Bulk MergeYes
Bulk Action AsyncYes
Bulk Also ActionYes
Bulk Then ActionYes
Commercial LicenseYes
Royalty-FreeYes
Support & Upgrades (1 year)Yes

Learn more about the PRO Version.

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

To view all our free and paid projects, visit our website ZZZ Projects.

About

Dapper Plus - High-Efficient Bulk Actions (Insert, Update, Delete, and Merge) for .NET

Topics

Resources

Stars

428 stars

Watchers

22 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

222 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

What's Dapper Plus?

Like Dapper, Dapper Plus is a NuGet library where you can add to your project that will extend your IDbConnection and IDbTransaction interface with high efficient Bulk Actions Helpers (Insert, Update, Delete, and Merge).

It can be used with or without Dapper, and it's compatible with all other Dapper packages.

Example

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;// CONFIGURE & MAP entityDapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID);// CHAIN & SAVE entityconnection.BulkInsert(orders).AlsoInsert(order =>order.Items);.Include(order =>order.ThenMerge(order =>order.Invoice).AlsoMerge(invoice =>invoice.Items)).AlsoMerge(order =>order.ShippingAddress);

Download

nugetnuget

PM> Install-Package Z.Dapper.Plus

* PRO Version unlocked for the current month

Wiki

Introduction

Dapper Plus - Mapper

PRO License

Mapper

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;DapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID).BatchSize(200);

Bulk Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders, order =>order.Items).BulkInsert(invoices, invoice =>invoice.Items).BulkMerge(shippingAddresses);

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.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).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 modifies entities used for the next bulk action using a lambda expression.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).AlsoInsert(order =>order.Items).ThenInsert(order =>order.Invoice).ThenInsert(invoice =>invoice.Items);

Include Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

Transaction

All Dapper Plus extension methods are also available on the IDbTransaction interface

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;transaction.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

DB Provider Supported

All major database providers are supported or under development.

  • SQL Server 2008+
  • SQL Azure
  • SQL Compact
  • SQLite
  • MySQL
  • PostgreSQL
  • Oracle

PRO

PRO Version unlocked for the current month

FeaturesPRO Version
Bulk InsertYes
Bulk UpdateYes
Bulk DeleteYes
Bulk MergeYes
Bulk Action AsyncYes
Bulk Also ActionYes
Bulk Then ActionYes
Commercial LicenseYes
Royalty-FreeYes
Support & Upgrades (1 year)Yes

Learn more about the PRO Version.

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

To view all our free and paid projects, visit our website ZZZ Projects.

About

Dapper Plus - High-Efficient Bulk Actions (Insert, Update, Delete, and Merge) for .NET

Topics

Resources

Stars

428 stars

Watchers

22 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

222 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

What's Dapper Plus?

Like Dapper, Dapper Plus is a NuGet library where you can add to your project that will extend your IDbConnection and IDbTransaction interface with high efficient Bulk Actions Helpers (Insert, Update, Delete, and Merge).

It can be used with or without Dapper, and it's compatible with all other Dapper packages.

Example

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;// CONFIGURE & MAP entityDapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID);// CHAIN & SAVE entityconnection.BulkInsert(orders).AlsoInsert(order =>order.Items);.Include(order =>order.ThenMerge(order =>order.Invoice).AlsoMerge(invoice =>invoice.Items)).AlsoMerge(order =>order.ShippingAddress);

Download

nugetnuget

PM> Install-Package Z.Dapper.Plus

* PRO Version unlocked for the current month

Wiki

Introduction

Dapper Plus - Mapper

PRO License

Mapper

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;DapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID).BatchSize(200);

Bulk Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders, order =>order.Items).BulkInsert(invoices, invoice =>invoice.Items).BulkMerge(shippingAddresses);

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.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).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 modifies entities used for the next bulk action using a lambda expression.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).AlsoInsert(order =>order.Items).ThenInsert(order =>order.Invoice).ThenInsert(invoice =>invoice.Items);

Include Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

Transaction

All Dapper Plus extension methods are also available on the IDbTransaction interface

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;transaction.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

DB Provider Supported

All major database providers are supported or under development.

  • SQL Server 2008+
  • SQL Azure
  • SQL Compact
  • SQLite
  • MySQL
  • PostgreSQL
  • Oracle

PRO

PRO Version unlocked for the current month

FeaturesPRO Version
Bulk InsertYes
Bulk UpdateYes
Bulk DeleteYes
Bulk MergeYes
Bulk Action AsyncYes
Bulk Also ActionYes
Bulk Then ActionYes
Commercial LicenseYes
Royalty-FreeYes
Support & Upgrades (1 year)Yes

Learn more about the PRO Version.

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

To view all our free and paid projects, visit our website ZZZ Projects.

About

Dapper Plus - High-Efficient Bulk Actions (Insert, Update, Delete, and Merge) for .NET

Topics

Resources

Stars

428 stars

Watchers

22 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

222 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

What's Dapper Plus?

Like Dapper, Dapper Plus is a NuGet library where you can add to your project that will extend your IDbConnection and IDbTransaction interface with high efficient Bulk Actions Helpers (Insert, Update, Delete, and Merge).

It can be used with or without Dapper, and it's compatible with all other Dapper packages.

Example

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;// CONFIGURE & MAP entityDapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID);// CHAIN & SAVE entityconnection.BulkInsert(orders).AlsoInsert(order =>order.Items);.Include(order =>order.ThenMerge(order =>order.Invoice).AlsoMerge(invoice =>invoice.Items)).AlsoMerge(order =>order.ShippingAddress);

Download

nugetnuget

PM> Install-Package Z.Dapper.Plus

* PRO Version unlocked for the current month

Wiki

Introduction

Dapper Plus - Mapper

PRO License

Mapper

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;DapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID).BatchSize(200);

Bulk Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders, order =>order.Items).BulkInsert(invoices, invoice =>invoice.Items).BulkMerge(shippingAddresses);

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.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).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 modifies entities used for the next bulk action using a lambda expression.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).AlsoInsert(order =>order.Items).ThenInsert(order =>order.Invoice).ThenInsert(invoice =>invoice.Items);

Include Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

Transaction

All Dapper Plus extension methods are also available on the IDbTransaction interface

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;transaction.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

DB Provider Supported

All major database providers are supported or under development.

  • SQL Server 2008+
  • SQL Azure
  • SQL Compact
  • SQLite
  • MySQL
  • PostgreSQL
  • Oracle

PRO

PRO Version unlocked for the current month

FeaturesPRO Version
Bulk InsertYes
Bulk UpdateYes
Bulk DeleteYes
Bulk MergeYes
Bulk Action AsyncYes
Bulk Also ActionYes
Bulk Then ActionYes
Commercial LicenseYes
Royalty-FreeYes
Support & Upgrades (1 year)Yes

Learn more about the PRO Version.

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

To view all our free and paid projects, visit our website ZZZ Projects.

About

Dapper Plus - High-Efficient Bulk Actions (Insert, Update, Delete, and Merge) for .NET

Topics

Resources

Stars

428 stars

Watchers

22 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

222 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

What's Dapper Plus?

Like Dapper, Dapper Plus is a NuGet library where you can add to your project that will extend your IDbConnection and IDbTransaction interface with high efficient Bulk Actions Helpers (Insert, Update, Delete, and Merge).

It can be used with or without Dapper, and it's compatible with all other Dapper packages.

Example

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;// CONFIGURE & MAP entityDapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID);// CHAIN & SAVE entityconnection.BulkInsert(orders).AlsoInsert(order =>order.Items);.Include(order =>order.ThenMerge(order =>order.Invoice).AlsoMerge(invoice =>invoice.Items)).AlsoMerge(order =>order.ShippingAddress);

Download

nugetnuget

PM> Install-Package Z.Dapper.Plus

* PRO Version unlocked for the current month

Wiki

Introduction

Dapper Plus - Mapper

PRO License

Mapper

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;DapperPlusManager.Entity<Order>().Table("Orders").Identity(x =>x.ID).BatchSize(200);

Bulk Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders, order =>order.Items).BulkInsert(invoices, invoice =>invoice.Items).BulkMerge(shippingAddresses);

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.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).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 modifies entities used for the next bulk action using a lambda expression.

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).AlsoInsert(order =>order.Items).ThenInsert(order =>order.Invoice).ThenInsert(invoice =>invoice.Items);

Include Actions

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

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;connection.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

Transaction

All Dapper Plus extension methods are also available on the IDbTransaction interface

// @nuget: Z.Dapper.PlususingZ.Dapper.Plus;transaction.BulkInsert(orders).Include(x =>x.ThenInsert(order =>order.Items).ThenInsert(orderItem =>orderItem.Metas)).Include(x =>x.ThenInsert(order =>order.Invoice).ThenInsert(Invoice =>invoice.Items));

DB Provider Supported

All major database providers are supported or under development.

  • SQL Server 2008+
  • SQL Azure
  • SQL Compact
  • SQLite
  • MySQL
  • PostgreSQL
  • Oracle

PRO

PRO Version unlocked for the current month

FeaturesPRO Version
Bulk InsertYes
Bulk UpdateYes
Bulk DeleteYes
Bulk MergeYes
Bulk Action AsyncYes
Bulk Also ActionYes
Bulk Then ActionYes
Commercial LicenseYes
Royalty-FreeYes
Support & Upgrades (1 year)Yes

Learn more about the PRO Version.

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

To view all our free and paid projects, visit our website ZZZ Projects.

About

Dapper Plus - High-Efficient Bulk Actions (Insert, Update, Delete, and Merge) for .NET

Topics

Resources

Stars

428 stars

Watchers

22 watching

Forks

Releases

Used by

Contributors

Languages