SQL Server Bulk

This page contains the latest information of the releases of RepoDb.SqlServer.BulkOperations library.

Please click here to see the actual Nuget package. Otherwise, please click here to download it.

RepoDb.SqlServer.BulkOperations (v1.17.0-alpha3)

Released: October 10, 2026

  • Updated the Microsoft.Bcl.AsyncInterfaces package reference to v10.0.12.
  • Referenced the RepoDb package v1.17.0-beta2.
  • Referenced the RepoDb.SqlServer package v1.17.0-alpha3.

RepoDb.SqlServer.BulkOperations (v1.17.0-alpha2)

Released: October 9, 2026

  • Enhancement: Made the package NativeAOT and trimming compatible (IsAotCompatible), replacing the reflection-based and dynamic code paths with AOT-safe equivalents.
  • Referenced the RepoDb package v1.17.0-beta1.
  • Referenced the RepoDb.SqlServer package v1.17.0-alpha2.

RepoDb.SqlServer.BulkOperations (v1.17.0-alpha1)

Released: October 1, 2026

  • Adopted the Roslyn and Meziantou static code analyzers across the codebase and applied the resulting fixes — including ConfigureAwait(false) on async calls, ArgumentNullException over NullReferenceException, and other code-quality corrections. #1328 #1331
  • Updated the NuGet package icon to the new logo and refreshed the README with a consistent header, description and a link to the get started tutorial.
  • Fixed BulkUpdate/BulkMerge (including their Async overloads) intermittently updating or merging the wrong rows when the qualifier is an identity column. The temporary (pseudo) table created via SELECT ... INTO inherited the IDENTITY property, so SqlBulkCopy discarded the supplied identity values and generated new ones, and the qualifier join then matched the wrong rows. The staged identity column now keeps its exact type but is created as a plain, nullable column. #1351
  • Referenced the RepoDb package v1.17.0-alpha3.
  • Referenced the RepoDb.SqlServer package v1.17.0-alpha1.
  • Introduced SqlServerBulkColumnMappingsBehavior (Automatic, Strict, StrictBypass) and the SqlServerBulkOperationsDbSetting setting class — opt into fail-fast validation of the source-to-destination column mapping for BulkInsert, BulkMerge, BulkUpdate and BulkDelete when no explicit mappings are passed. #1360

RepoDb.SqlServer.BulkOperations (v1.16.0)

Released: September 9, 2026

New

Breaking

  • Replaced the isReturnIdentity argument with the SqlServerBulkImportIdentityBehavior enumeration (via the new identityBehavior argument) across BulkInsert and BulkMerge. Callers passing a bool must switch to SqlServerBulkImportIdentityBehavior.ReturnIdentity or SqlServerBulkImportIdentityBehavior.Unspecified.
  • Replaced the usePhysicalPseudoTempTable argument with the SqlServerBulkImportPseudoTableType enumeration (via the new pseudoTableType argument) across BulkInsert, BulkMerge, BulkUpdate and BulkDelete. Callers passing a bool must switch to SqlServerBulkImportPseudoTableType.Physical or SqlServerBulkImportPseudoTableType.Temporary.
  • Separated the primaryKeys-based overload of BulkDelete into a new, dedicated BulkDeleteByKey method. Existing calls to BulkDelete that pass a list of primary keys must be updated to call BulkDeleteByKey instead.

RepoDb.SqlServer.BulkOperations (v1.15.0)

  • Referenced the RepoDb package v1.15.0.
  • Referenced the RepoDb.SqlServer package v1.15.0.

RepoDb.SqlServer.BulkOperations (v1.14.0)

New

  • Added support for .NET 8, .NET 9, and .NET 10 target frameworks.
  • Referenced the RepoDb package v1.14.0.
  • Referenced the RepoDb.SqlServer package v1.14.0.

Breaking

  • Dropped support for .NET 6 and .NET 7.

RepoDb.SqlServer.BulkOperations (v1.13.1)

  • Referenced the RepoDb package v1.13.1.
  • Referenced the RepoDb.SqlServer package v1.13.1.

RepoDb.SqlServer.BulkOperations (v1.13.1-alpha1)

  • Enabled the net7.0 TFM.

RepoDb.SqlServer.BulkOperations (v1.13.0)

  • Referenced the RepoDb package v1.13.0.
  • Referenced the RepoDb.SqlServer package v1.13.0.

RepoDb.SqlServer.BulkOperations (v1.13.0-beta1)

  • Referenced the RepoDb package v1.13.0-beta1.
  • Referenced the RepoDb.SqlServer package v1.13.0-beta1.

RepoDb.SqlServer.BulkOperations (v1.13.0-alpha3)

  • Referenced the RepoDb package v1.13.0-alpha3.
  • Referenced the RepoDb.SqlServer package v1.13.0-alpha3.

RepoDb.SqlServer.BulkOperations (v1.13.0-alpha2)

  • Referenced the RepoDb package v1.13.0-alpha2.
  • Referenced the RepoDb.SqlServer package v1.13.0-alpha2.

RepoDb.SqlServer.BulkOperations (v1.13.0-alpha1)

  • Referenced the RepoDb package v1.13.0-alpha1.
  • Referenced the RepoDb.SqlServer package v1.13.0-alpha1.

RepoDb.SqlServer.BulkOperations (v1.1.6)

  • Referenced the RepoDb package v1.12.10.
  • Referenced the RepoDb.SqlServer package v1.1.5.
  • Upgraded the System.Linq.Async package to v6.1.0.

RepoDb.SqlServer.BulkOperations (v1.1.6-beta1/beta2)

  • Upgraded the RepoDb package to v1.12.10-beta4.
  • Upgraded the RepoDb.SqlServer package to v1.1.5-beta4.
  • Added the System.Linq.Async (version 5.1.0).
  • Added the Microsoft.Bcl.AsyncInterfaces (version 6.0.0).
  • Initial support to the IAsyncEnumerable interface.
  • Added the Title and PackageTags tags in the Nuget Package (.nuspec references).

RepoDb.SqlServer.BulkOperations (v1.1.5)

  • Bug: BulkMergeAsync with multiple qualifiers #864
  • Added the net5.0 as part of the target frameworks.
  • Upgraded the RepoDb package to v1.12.8-beta5.
  • Upgraded the RepoDb.SqlServer package to v1.1.4-beta4.
  • Supported the .NET v6.0.

RepoDb.SqlServer.BulkOperations (v1.1.5-beta2)

  • Added the net5.0 as part of the target frameworks.
  • Upgraded the RepoDb package to v1.12.8-beta5.
  • Upgraded the RepoDb.SqlServer package to v1.1.4-beta4.

RepoDb.SqlServer.BulkOperations (v1.1.5-beta1)

RepoDb.SqlServer.BulkOperations (v1.1.4)

RepoDb.SqlServer.BulkOperations (v1.1.3)

  • Bug: Identity Values not set correctly with Bulk Insert from Sql Server due to Incorrect Sorting of data. #691
  • The hints argument is removed from the BulkInsert via DbDataReader.
  • Added the WriteToServer method to cater the ordered resultset of the __RepoDb_OrderColumn custom column.

RepoDb.SqlServer.BulkOperations (v1.1.2)

  • Bug: Incorrect syntax near the keyword WITH BulkMergeAsync #640
  • Request: Do not crash if on empty enumerable on bulk operation [#635]((https://github.com/mikependon/RepoDB/issues/635)
  • Referenced the version RepoDb.Core (v1.12.5-beta2).
  • Reverted the changes to the #635.
  • Bug: System.Data.SqlClient.SqlException: ‘Column name ‘ID’ does not exist in the target table or view.’ #651
  • Refactor the internal method implementations to only utilize the base methods for both the MDS and SDS method calls.
  • Referenced the version RepoDb.Core (v1.12.5).

RepoDb.SqlServer.BulkOperations (v1.1.2-beta4)

RepoDb.SqlServer.BulkOperations (v1.1.2-beta3)

  • Bug: System.Data.SqlClient.SqlException: ‘Column name ‘ID’ does not exist in the target table or view.’ #651
  • Refactor the internal method implementations to only utilize the base methods for both the MDS and SDS method calls.

RepoDb.SqlServer.BulkOperations (v1.1.2-beta2)

  • Reverted the changes to the #635.

RepoDb.SqlServer.BulkOperations (v1.1.2-beta1)

  • Bug: Incorrect syntax near the keyword WITH BulkMergeAsync #640
  • Request: Do not crash if on empty enumerable on bulk operation [#635]((https://github.com/mikependon/RepoDB/issues/635)
  • Referenced the version RepoDb.Core (v1.12.5-beta2).

RepoDb.SqlServer.BulkOperations (v1.1.1)

RepoDb.SqlServer.BulkOperations (v1.1.0)

  • Complete support to F# programming language as requested by the F# Community. Thank you to Isaac Abraham and Angel Munoz for being so collaborative.
  • Breaking: Introduced the fields argument to the fetch (i.e.: Query, ExecuteQuery and BatchQuery) and push (i.e.: Insert, Merge and Update) operations.
  • Breaking: Introduced the tableName argument to all entity based operations. This completely resolves the F# anonymous invocations.
  • Breaking: Renamed of argument whereOrPrimaryKey to what.
  • Enhacement: Complete support to the immutable classes and/or types.
  • Refactoring: Refactored the compiler implementations by simplifying the code from Monolithic to Smaller/Shorter/Cleaner code.
  • Feature: Introduced the support to the Class Handler.
  • Test: More coverage of Integration Tests and Unit Tests.
  • Referenced the version RepoDb.Core (v1.12.0).
  • Referenced the version RepoDb.SqlServer (v1.1.0).

RepoDb.SqlServer.BulkOperations (v1.1.0-beta2)

RepoDb.SqlServer.BulkOperations (v1.1.0-beta1)

  • Complete support to F# programming language as requested by the F# Community. Thank you to Isaac Abraham and Angel Munoz for being so collaborative.
  • Breaking: Introduced the fields argument to the fetch (i.e.: Query, ExecuteQuery and BatchQuery) and push (i.e.: Insert, Merge and Update) operations.
  • Breaking: Introduced the tableName argument to all entity based operations. This completely resolves the F# anonymous invocations.
  • Breaking: Renamed of argument whereOrPrimaryKey to what.
  • Enhacement: Complete support to the immutable classes and/or types.
  • Refactoring: Refactored the compiler implementations by simplifying the code from Monolithic to Smaller/Shorter/Cleaner code.
  • Feature: Introduced the support to the Class Handler.
  • Test: More coverage of Integration Tests and Unit Tests.
  • Referenced the version RepoDb.Core (v1.12.0-beta1).
  • Referenced the version RepoDb.SqlServer (v1.1.0-beta1).

RepoDb.SqlServer.BulkOperations (v1.0.14)

  • Enhancement: Async all the way #477
  • Enhancement: Refactor the usage of Count() and ElementAt().

RepoDb.SqlServer.BulkOperations (v1.0.13)

RepoDb.SqlServer.BulkOperations (v1.0.12)

RepoDb.SqlServer.BulkOperations (v1.0.12-beta1)

RepoDb.SqlServer.BulkOperations (v1.0.11)

RepoDb.SqlServer.BulkOperations (v1.0.10)

  • Enhancement: Create a compiler for the SQL Server Bulk Operations Set Identities #450
  • Added the XML comments file (a missing from previous release).
  • Removed the BulkOperationIdentitiesResult class for performance purposes.
  • Referenced the version RepoDb.SqlServer (v1.0.10)

RepoDb.SqlServer.BulkOperations (v1.0.9)

  • Enhacement: Return the identity values during the BulkInsert and BulkMerge. #396
  • Added the BulkOperationIdentitiesResult class to cater the bulk operation results for BulkInsert and BulkMerge.
  • Added the isReturnIdentity and usePhysicalPseudoTempTable arguments in the BulkInsert and BulkMerge operations.
  • Added the hints argument in the BulkInsert operations.
  • Added more Integration Tests to cater the changes made for isReturnIdentity and hints arguments.

RepoDb.SqlServer.BulkOperations (v1.0.8)

RepoDb.SqlServer.BulkOperations (v1.0.7)

RepoDb.SqlServer.BulkOperations (v1.0.6)

RepoDb.SqlServer.BulkOperations (v1.0.5)

RepoDb.SqlServer.BulkOperations (v1.0.4)

  • Referenced the version RepoDb.Core (v1.10.10).
  • Fully supported the Bulk Operations (BulkDelete, BulkInsert, BulkMerge and BulkUpdate) for both System.Data.SqlClient and Microsoft.Data.SqlClient namespace.
  • Auto set the options to SqlBulkCopyOptions.KeepIdentity for BulkDelete, BulkMerge and BulkUpdate (if there an identity primary/column from the DB).
  • Used an underscore over dashes when composing the temporary/pseudo tables.
  • Added an extensive Integration Tests for all Bulk methods (both SDS and MDS namespaces).

RepoDb.SqlServer.BulkOperations (v1.0.4-beta3)

  • Minor updates for BulkUpdate. Used an underscore over dashes when composing the temporary/pseudo tables.

RepoDb.SqlServer.BulkOperations (v1.0.4-beta2)

  • Auto set the options to SqlBulkCopyOptions.KeepIdentity for BulkDelete, BulkMerge and BulkUpdate (if there an identity primary/column from the DB).
  • Used an underscore over dashes when composing the temporary/pseudo tables.

RepoDb.SqlServer.BulkOperations (v1.0.4-beta1)

RepoDb.SqlServer.BulkOperations (v1.0.3)

  • Upgrade the references to Microsoft.Data.SqlClient (v1.1.1) and RepoDb.SqlServer (v1.0.3).

RepoDb.SqlServer.BulkOperations (v1.0.2)

  • Resumed the support to System.Data.SqlClient namespace.

RepoDb.SqlServer.BulkOperations(v1.0.1)

  • Initial release for RepoDb.SqlServer.BulkOperations.

RepoDb.SqlServer.BulkOperations (v1.0.0)

  • Initial release for RepoDb.SqlServer.BulkOperations.