Dapper.Bulk 1.6.0

dotnet add package Dapper.Bulk --version 1.6.0
NuGet\Install-Package Dapper.Bulk -Version 1.6.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dapper.Bulk" Version="1.6.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Dapper.Bulk --version 1.6.0
#r "nuget: Dapper.Bulk, 1.6.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Dapper.Bulk as a Cake Addin
#addin nuget:?package=Dapper.Bulk&version=1.6.0

// Install Dapper.Bulk as a Cake Tool
#tool nuget:?package=Dapper.Bulk&version=1.6.0

Dapper.Bulk- bulk inserts for Dapper

Features

Dapper.Bulk contains helper methods for bulk inserting.

Download

<a href="https://www.nuget.org/packages/Dapper.Bulk/" target="_blank">Dapper.Bulk Nuget</a>

PM> Install-Package Dapper.Bulk

Usage

  • Inserts entities, without result for best performance:
connection.BulkInsert(data);
await connection.BulkInsertAsync(data);
  • Inserts and returns inserted entities:
var inserted = connection.BulkInsertAndSelect(data);
var inserted = await connection.BulkInsertAndSelectAsync(data);

Default Conventions

  • TableName is TypeName + s. When Interface I is removed.
  • Key is Id property (case-insensitive)

Custom Conventions

TableName - somewhere before usage call.

TableMapper.SetupConvention("tbl", "s")

Attributes

We do not rely on specific attributes. This means you can use whatever attributes with following names:

  • TableAttribute - Must have string Name property. Exists in System.ComponentModel.Annotations Nuget.
  • ColumnAttribute - Must have string Name property. Exists in System.ComponentModel.Annotations Nuget.
  • KeyAttribute - Marking only attribute. Exists in System.ComponentModel.Annotations Nuget.
  • ComputedAttribute - Marking only attribute. For fields returned from Db.
  • NotMapped - Marking only attribute. For ignored fields.
// Table Cars by default convention 
public class Car
{
    // Identity by convention
    public int Id { get; set; }
    
    public string Name { get; set; }
	
    public DateTime ManufactureDate { get; set; }
}

// Supported in v1.2+
public enum CarType : int
{
    Classic = 1,
    Coupe = 2
}

[Table("tblCars")]
public class Car
{
    [Key] // Identity
    public int CarId { get; set; }
    
    public string Name { get; set; }
	
    public CarType CarType { get; set; } //SQL Data Type should match Enum type
	
    [Computed] // Will be ignored for inserts, but the value in database after insert will be returned
    public DateTime ManufactureDate { get; set; }
}
public class IdentityAndNotMappedTest
{
    [Key]
    public int IdKey { get; set; }

    public string Name { get; set; }

	// Will be ignored for inserts
    public virtual TestSublass TestSublass { get; set; }

    [NotMapped] // Will be ignored for inserts
    public int Ignored { get; set; }
}
// Supported in v1.4+
private class CustomColumnName
{
    [Key]
    public int IdKey { get; set; }

    [Column("Name_1")] // Will map to SQL column Name_1
    public string Name { get; set; } 

    [Column("Int_Col")] // Will map to SQL column Int_Col
    public int IntCol { get; set; }

    [Column("Long_Col")] // Will map to SQL column Long_Col
    public long LongCol { get; set; }

    [NotMapped] // Will be ignored for inserts
    public int Ignored { get; set; }

    [Write(false)] // Will be ignored for inserts
    public int Ignored { get; set; }
}
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Dapper.Bulk:

Package Downloads
Z.Core.Infrastructure

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.6.0 58,139 2/8/2023
1.5.0 152,463 5/17/2021
1.4.2 134,939 3/4/2019
1.4.1 4,363 1/18/2019
1.4.0 1,464 12/25/2018
1.3.0 8,634 9/25/2018
1.2.0 4,796 7/14/2018
1.1.1 10,623 6/4/2018
1.1.0 10,119 4/14/2018
1.0.3 1,871 11/11/2017
1.0.2 953 10/30/2017
1.0.1 929 10/29/2017
1.0.0 1,167 10/29/2017

-Reference package Microsoft.Data.SqlClient instead of System.Data.SqlClient
-Added support for Schema attribute
-Allow ColumnName and Key on the same field
-TargetFramework is now net6.0
-Updated nugets and code style