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.AsyncInterfacespackage reference tov10.0.12. - Referenced the
RepoDbpackagev1.17.0-beta2. - Referenced the
RepoDb.SqlServerpackagev1.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 anddynamiccode paths with AOT-safe equivalents. - Referenced the
RepoDbpackagev1.17.0-beta1. - Referenced the
RepoDb.SqlServerpackagev1.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,ArgumentNullExceptionoverNullReferenceException, and other code-quality corrections. #1328 #1331 - Updated the NuGet package icon to the new logo and refreshed the
READMEwith a consistent header, description and a link to the get started tutorial. - Fixed
BulkUpdate/BulkMerge(including theirAsyncoverloads) intermittently updating or merging the wrong rows when the qualifier is an identity column. The temporary (pseudo) table created viaSELECT ... INTOinherited theIDENTITYproperty, soSqlBulkCopydiscarded 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
RepoDbpackagev1.17.0-alpha3. - Referenced the
RepoDb.SqlServerpackagev1.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 explicitmappingsare passed. #1360
RepoDb.SqlServer.BulkOperations (v1.16.0)
Released: September 9, 2026
New
- Introduced SqlServerBulkInsertMapItem, a SQL Server-specific column mapping class for the
mappingsargument of BulkInsert, BulkMerge, BulkUpdate and BulkDelete — keeps the mapping API consistent with PostgreSqlBulkInsertMapItem and OracleBulkInsertMapItem. The base BulkInsertMapItem class remains equally accepted.
Breaking
- Replaced the
isReturnIdentityargument with theSqlServerBulkImportIdentityBehaviorenumeration (via the newidentityBehaviorargument) across BulkInsert and BulkMerge. Callers passing aboolmust switch toSqlServerBulkImportIdentityBehavior.ReturnIdentityorSqlServerBulkImportIdentityBehavior.Unspecified. - Replaced the
usePhysicalPseudoTempTableargument with theSqlServerBulkImportPseudoTableTypeenumeration (via the newpseudoTableTypeargument) across BulkInsert, BulkMerge, BulkUpdate and BulkDelete. Callers passing aboolmust switch toSqlServerBulkImportPseudoTableType.PhysicalorSqlServerBulkImportPseudoTableType.Temporary. - Separated the
primaryKeys-based overload of BulkDelete into a new, dedicatedBulkDeleteByKeymethod. Existing calls toBulkDeletethat pass a list of primary keys must be updated to call BulkDeleteByKey instead.
RepoDb.SqlServer.BulkOperations (v1.15.0)
- Referenced the
RepoDbpackagev1.15.0. - Referenced the
RepoDb.SqlServerpackagev1.15.0.
RepoDb.SqlServer.BulkOperations (v1.14.0)
New
- Added support for .NET 8, .NET 9, and .NET 10 target frameworks.
- Referenced the
RepoDbpackagev1.14.0. - Referenced the
RepoDb.SqlServerpackagev1.14.0.
Breaking
- Dropped support for .NET 6 and .NET 7.
RepoDb.SqlServer.BulkOperations (v1.13.1)
- Referenced the
RepoDbpackagev1.13.1. - Referenced the
RepoDb.SqlServerpackagev1.13.1.
RepoDb.SqlServer.BulkOperations (v1.13.1-alpha1)
- Enabled the
net7.0TFM.
RepoDb.SqlServer.BulkOperations (v1.13.0)
- Referenced the
RepoDbpackagev1.13.0. - Referenced the
RepoDb.SqlServerpackagev1.13.0.
RepoDb.SqlServer.BulkOperations (v1.13.0-beta1)
- Referenced the
RepoDbpackagev1.13.0-beta1. - Referenced the
RepoDb.SqlServerpackagev1.13.0-beta1.
RepoDb.SqlServer.BulkOperations (v1.13.0-alpha3)
- Referenced the
RepoDbpackagev1.13.0-alpha3. - Referenced the
RepoDb.SqlServerpackagev1.13.0-alpha3.
RepoDb.SqlServer.BulkOperations (v1.13.0-alpha2)
- Referenced the
RepoDbpackagev1.13.0-alpha2. - Referenced the
RepoDb.SqlServerpackagev1.13.0-alpha2.
RepoDb.SqlServer.BulkOperations (v1.13.0-alpha1)
- Referenced the
RepoDbpackagev1.13.0-alpha1. - Referenced the
RepoDb.SqlServerpackagev1.13.0-alpha1.
RepoDb.SqlServer.BulkOperations (v1.1.6)
- Referenced the
RepoDbpackagev1.12.10. - Referenced the
RepoDb.SqlServerpackagev1.1.5. - Upgraded the
System.Linq.Asyncpackage tov6.1.0.
RepoDb.SqlServer.BulkOperations (v1.1.6-beta1/beta2)
- Upgraded the
RepoDbpackage tov1.12.10-beta4. - Upgraded the
RepoDb.SqlServerpackage tov1.1.5-beta4. - Added the
System.Linq.Async(version5.1.0). - Added the
Microsoft.Bcl.AsyncInterfaces(version6.0.0). - Initial support to the
IAsyncEnumerableinterface. - Added the
TitleandPackageTagstags in the Nuget Package (.nuspec references).
RepoDb.SqlServer.BulkOperations (v1.1.5)
- Bug: BulkMergeAsync with multiple qualifiers #864
- Added the
net5.0as part of the target frameworks. - Upgraded the
RepoDbpackage tov1.12.8-beta5. - Upgraded the
RepoDb.SqlServerpackage tov1.1.4-beta4. - Supported the
.NET v6.0.
RepoDb.SqlServer.BulkOperations (v1.1.5-beta2)
- Added the
net5.0as part of the target frameworks. - Upgraded the
RepoDbpackage tov1.12.8-beta5. - Upgraded the
RepoDb.SqlServerpackage tov1.1.4-beta4.
RepoDb.SqlServer.BulkOperations (v1.1.5-beta1)
- Bug: BulkMergeAsync with multiple qualifiers #864
RepoDb.SqlServer.BulkOperations (v1.1.4)
- Referenced the version RepoDb.Core (v1.12.7).
- Referenced the version RepoDb.SqlServer (v1.1.3).
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
hintsargument is removed from the BulkInsert via DbDataReader. - Added the
WriteToServermethod to cater the ordered resultset of the__RepoDb_OrderColumncustom column.
RepoDb.SqlServer.BulkOperations (v1.1.2)
- Bug: Incorrect syntax near the keyword
WITHBulkMergeAsync #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)
- Bug: BulkInsert with mappings #668
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
WITHBulkMergeAsync #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)
- CancellationToken support? #343
- Referenced the version RepoDb.Core (v1.12.4).
- Referenced the version RepoDb.SqlServer (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
fieldsargument to the fetch (i.e.: Query, ExecuteQuery and BatchQuery) and push (i.e.: Insert, Merge and Update) operations. - Breaking: Introduced the
tableNameargument to all entity based operations. This completely resolves theF#anonymous invocations. - Breaking: Renamed of argument
whereOrPrimaryKeytowhat. - 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)
- Referenced the version RepoDb.SqlServer (v1.1.0-beta2).
- Referenced the version RepoDb.Core (v1.12.0-beta4).
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
fieldsargument to the fetch (i.e.: Query, ExecuteQuery and BatchQuery) and push (i.e.: Insert, Merge and Update) operations. - Breaking: Introduced the
tableNameargument to all entity based operations. This completely resolves theF#anonymous invocations. - Breaking: Renamed of argument
whereOrPrimaryKeytowhat. - 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()andElementAt().
RepoDb.SqlServer.BulkOperations (v1.0.13)
- Referenced the version RepoDb.Core (v1.11.5).
- Referenced the version RepoDb.SqlServer (v1.0.12).
RepoDb.SqlServer.BulkOperations (v1.0.12)
- Enhancement: Support commandTimeout parameter in Bulk Operations #466.
- Referenced the version RepoDb.SqlServer (v1.0.11)
RepoDb.SqlServer.BulkOperations (v1.0.12-beta1)
- Enhancement: Support commandTimeout parameter in Bulk Operations #466.
- Referenced the version RepoDb.SqlServer (v1.0.11)
RepoDb.SqlServer.BulkOperations (v1.0.11)
- Enhancement: Enable Field class to Parse the Expression for Multiple Properties at BulkOperations (BulkDelete, BulkInsert, BulkMerge and BulkUpdate). #453
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
BulkOperationIdentitiesResultclass 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
BulkOperationIdentitiesResultclass to cater the bulk operation results for BulkInsert and BulkMerge. - Added the
isReturnIdentityandusePhysicalPseudoTempTablearguments in the BulkInsert and BulkMerge operations. - Added the
hintsargument in the BulkInsert operations. - Added more Integration Tests to cater the changes made for
isReturnIdentityandhintsarguments.
RepoDb.SqlServer.BulkOperations (v1.0.8)
- Referenced the version RepoDb.SqlServer (v1.0.9)
RepoDb.SqlServer.BulkOperations (v1.0.7)
- Referenced the version RepoDb.SqlServer (v1.0.8)
RepoDb.SqlServer.BulkOperations (v1.0.6)
- Referenced the version RepoDb.SqlServer (v1.0.6)
RepoDb.SqlServer.BulkOperations (v1.0.5)
- Referenced the version RepoDb.Core (v1.10.11).
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.KeepIdentityfor 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.KeepIdentityfor 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)
- Initial full support to the Bulk Operations (BulkDelete, BulkInsert, BulkMerge and BulkUpdate).
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.