Releases: cajuncoding/SqlBulkHelpers
Releases · cajuncoding/SqlBulkHelpers
Release v2.4.4
Release v2.4.3
Fix Caching bug for Processing Definitions loaded from class Attribute annotations, etc. whereby the FullName
was not correctly used resulting in cache conflicts and incorrect values when classes have the same name.
Release v2.4.2
- Add Support to manually control if Materialized Loading tables are cleaned-up/removed when using
SchemaCopyMode.OutsideTransactionAvoidSchemaLocks
viamaterializeDataContext.DisableMaterializedStagingTableCleanup()
.- Always enabled by default and throws an
InvalidOperationException
if ifSchemaCopyMode.InsideTransactionAllowSchemaLocks
is used. - This provides support for advanced debugging and control flow support.
- Always enabled by default and throws an
- Improved SqlBulkHelpers Configuration API to now provide
Clone()
andConfigure()
methods to more easily copy/clone existing configuration and change values is specific instances; including copy/clone of the Defaults for unique execuctions.
Release v2.4.1
- Added support to load Table Schema for Temp Tables (basic Schema details needed for BulkInsert or Update, etc. to allow Bulk Loading Temp Tables!
- Improved Error message for when custom SQL Merge Match qualifiers are specified but DB Schema may have changed making them invalid or missing from Cached schema.
Release v2.4
- Added new explicit
CopyTableDataAsync()
APIs which enable explicit copying of data between two tables on matching columns (automatically detected by column Name and Data Type). - Added new Materialized Data Configuration value
MaterializedDataLoadingTableDataCopyMode
to control whether the materialized data process automatically copies data into the Loading Tables after cloning. This helps to greatly simplify new use cases where data must be merged (and preserved) during the materialization process.
Release v2.3.1
Fixed bug with Sql Bulk Insert/Update processing with Model Properties that have mapped database names via mapping attribute (e.g. [SqlBulkColumn("")]
, [Map("")]
, [Column("")]
, etc.).
Release v2.3
- Changed default behavior to no longer clone tables/schema inside a Transaction which creates a full Schema Lock -- as this greatly impacts Schema aware ORMs such as
SqlBulkHelpers
,RepoDb
, etc.- Note: If you are manually orchestrating your process using
StartMaterializedDataProcessAsync()
andFinishMaterializeDataProcessAsync()
then you now need to handle this by explicitly callingCleanupMaterializeDataProcessAsync()
in aTry/Finally
.
- Note: If you are manually orchestrating your process using
- Added new configuration value to control if Schema copying/cloning (for Loading Tables) is inside or outide the Transaction (e.g. SchemaCopyMode.InsideTransactionAllowSchemaLocks vs OutsideTransactionAvoidSchemaLocks).
- Fix bug in
ReSeedTableIdentityValueWithMaxIdAsync()
when the Table is Empty so that it now defaults to value of 1.
Release v2.2.3
Improved namespace for SqlBulkHelpers.CustomExtensions to reduce risk of conflicts with similar existing extensions.
Release v2.2.1
Restored support for SqlConnection Factory (simplified now as a Func when manually using the SqlDbSchemaLoader to dynamically retrieve Table Schema definitions for performance.
v2.2
Nuget: https://www.nuget.org/packages/SqlBulkHelpers/2.2.0
v2.2 Release Notes:
- Added support for other Identity column data types including (INT, BIGINT, SMALLINT, & TINYINT); per feature request here.
- Added support to explicitly set Identity Values (aka SET IDENTITY_INSERT ON) via new
enableIdentityInsert
api parameter. - Added support to retreive and re-seed (aka set) the current Identity Value on a given table via new apis in the MaterializedData helpers.
- Additional small bug fixes and optimiaztions.