Joti.Bulk 0.6.0

.NET package for Bulk operations in SQL Server using DbConnection or DbContext (Entity Framework )

Install-Package Joti.Bulk -Version 0.6.0
dotnet add package Joti.Bulk --version 0.6.0
<PackageReference Include="Joti.Bulk" Version="0.6.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Joti.Bulk --version 0.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Joti.Bulk, 0.6.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Joti.Bulk as a Cake Addin
#addin nuget:?package=Joti.Bulk&version=0.6.0

// Install Joti.Bulk as a Cake Tool
#tool nuget:?package=Joti.Bulk&version=0.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

.NET package for Bulk operations in SQL Server using DbConnection or DbContext (Entity Framework). It is based on extension methods available by using the namespace Joti.Connection.Bulk or Joti.Entity.Bulk.

Tested for
   * .NET 4.0 - 4.5
   * Entity Framework 4.2.0.0 - 6.1.1

Versions:
   * Future
       - Check of primary keys handling
   * 0.6 (Current)  
       - BulkUpdate refactoring
       - This release recieved big help from Eric Chan! Thank you!
   * 0.5.2  
       - Support for Azure Sql
       - Support for Sql Server 2005
   * 0.5.1  
       - First public version
   * 0.1-0.5
       - Private development versions

QuickStart/Crashcourse DBConnection:
    These bulk methods extends Dbconnection and takes a DataTable or a list of objects.
   Joti.Data.Helper.ToDataTable can convert objects to DataTable.
   
     var conn = New SqlConnection(connectionString);
      conn.BulkDelete(myTableName);
      conn.BulkInsert(insertObjects, myTableName);
      conn.BulkUpdate(updateObjects, myTableName);
      conn.BulkDelete(deleteObjects, myTableName);

    It's possible to override the column constraints handling with the optional IColumnConstraints

QuickStart/Crashcourse DbContext:
    Decorate the DbContext with the IDbContextBulk from namespace Joti.Entity.Bulk:

      public class MyOwnContext : DbContext, IDbContextBulk
      {
          public DbSet&lt;MyEntity&gt; MyEntities{ get; set; }
      }

    Create a context and use the extension methods:

      var context = new MyOwnContext();
      context.BulkDelete&lt;MyOwnContext, MyEntity&gt;();
      context.BulkInsert(entitiesInsert);
      context.BulkUpdate(entitiesUpdate);
      context.BulkDelete(entitiesDelete);

    It's possible to override the entity conversion with the optional IEntitiesConverter
   
Compability
   * Azure Sql: Set Joti.Connection.UseSubstitutionForSqlTemporaryTables to true since Azure Sql does not like ordinary temp tables.
   * Sql Server 2005: Set Joti.Connection.UseSubstitutionForSqlMerge to true since 2005 don't have Merge.

Dependencies

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.6.0 1,444 9/17/2015
0.5.2 936 10/27/2014
0.5.1 795 6/4/2014