Joti.Bulk
0.5.2
See the version list below for details.
dotnet add package Joti.Bulk --version 0.5.2
NuGet\Install-Package Joti.Bulk -Version 0.5.2
<PackageReference Include="Joti.Bulk" Version="0.5.2" />
paket add Joti.Bulk --version 0.5.2
#r "nuget: Joti.Bulk, 0.5.2"
// Install Joti.Bulk as a Cake Addin #addin nuget:?package=Joti.Bulk&version=0.5.2 // Install Joti.Bulk as a Cake Tool #tool nuget:?package=Joti.Bulk&version=0.5.2
.NET package for Bulk operations in SQL Server using DbConnection or DbContext (Entity Framework )
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
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.
.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.5.2(Current)
- 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<MyEntity> MyEntities{ get; set; }
}
Create a context and use the extension methods:
var context = new MyOwnContext();
context.BulkDelete<MyOwnContext, MyEntity>();
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.