You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: NetStandard.SqlBulkHelpers/NetStandard.SqlBulkHelpers.csproj
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -14,14 +14,14 @@
14
14
<Description>A library for easy, efficient and high performance bulk insert and update of data, into a Sql Database, from .Net applications. By leveraging the power of the SqlBulkCopy classes with added support for Identity primary key table columns this library provides a greatly simplified interface to process Identity based Entities with Bulk Performance with the wide compatibility of .NetStandard 2.0.</Description>
- Migrate from FastMember to Fasterflect for improved performance and reliability and functionality.
18
-
- Implement support for Property Handler interceptors to enable advanced custom handling of Property Get/Set operations during Bulk Insert/Update operations.
19
-
- Improve compatibility with RepoDb by implementing support for RepoDb PropertyHandler interceptors by dynamically detecting and using any registered PropertyHandlers (Annotations on Properties) if already used on models.
20
17
- Fix issue with SLQ Server non-writeable fields such as Computed Columns causing failures during Bulk Insert/Update operations.
18
+
- Migrate from FastMember to Fasterflect for improved performance, reliability and functionality.
19
+
- Implement support for Property Handler interceptors to enable advanced dynamic transformation of property values during Bulk Insert/Update operations.
20
+
- Improve compatibility with RepoDb by implementing support for RepoDb PropertyHandler interceptors by dynamically detecting and using any registered PropertyHandlers (Annotations on Properties) if already used on models.
21
21
- Add Support to intentionally ignore properties on data models (for edge cases) using SqlBulkIgnoreAttribute.
22
22
- Add Support for property mapping/interception hanlding for dynamic conversions before writing to the DB via new ISqlBulkHelpersPropertyConverter interface that can be added to any custom Attribute (e.g. convert comples object property to Json to store in a single field).
23
-
- Add compatibility support to utilize RepoDb PropertyHandlerAttribute for conversions before writing to the DB.
24
-
- Add Support for dynamic Json property conversion with built in SqlBulkConvertToJsonAttribute.
23
+
- Add compatibility support to utilize RepoDb IPropertyHandler and PropertyHandlerAttribute for conversions before writing to the DB.
24
+
- Add Support for dynamic Json property conversion with new SqlBulkConvertToJsonAttribute now provided out-of-the-box.
25
25
26
26
Prior Relese Notes:
27
27
- Updates to resolve security vulnerabilities in dependencies.
Copy file name to clipboardExpand all lines: README.md
+38-11Lines changed: 38 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -217,14 +217,14 @@ public class TestDataService
217
217
To use in your project, add the [SqlBulkHelpers NuGet package](https://www.nuget.org/packages/SqlBulkHelpers/) to your project.
218
218
219
219
### v2.5.0 Release Notes:
220
-
- Migrate from FastMember to Fasterflect for improved performance and reliability and functionality.
221
-
- Implement support for Property Handler interceptors to enable advanced custom handling of Property Get/Set operations during Bulk Insert/Update operations.
222
-
- Improve compatibility with RepoDb by implementing support for RepoDb PropertyHandler interceptors by dynamically detecting and using any registered PropertyHandlers (Annotations on Properties) if already used on models.
223
220
- Fix issue with SLQ Server non-writeable fields such as Computed Columns causing failures during Bulk Insert/Update operations.
221
+
- Migrate from FastMember to Fasterflect for improved performance, reliability and functionality.
222
+
- Implement support for Property Handler interceptors to enable advanced dynamic transformation of property values during Bulk Insert/Update operations.
223
+
- Improve compatibility with RepoDb by implementing support for RepoDb PropertyHandler interceptors by dynamically detecting and using any registered PropertyHandlers (Annotations on Properties) if already used on models.
224
224
- Add Support to intentionally ignore properties on data models (for edge cases) using SqlBulkIgnoreAttribute.
225
225
- Add Support for property mapping/interception hanlding for dynamic conversions before writing to the DB via new ISqlBulkHelpersPropertyConverter interface that can be added to any custom Attribute (e.g. convert comples object property to Json to store in a single field).
226
-
- Add compatibility support to utilize RepoDb PropertyHandlerAttribute for conversions before writing to the DB.
227
-
- Add Support for dynamic Json property conversion with built in SqlBulkConvertToJsonAttribute.
226
+
- Add compatibility support to utilize RepoDb IPropertyHandler and PropertyHandlerAttribute for conversions before writing to the DB.
227
+
- Add Support for dynamic Json property conversion with new SqlBulkConvertToJsonAttribute now provided out-of-the-box.
228
228
229
229
### v2.4.6 Release Notes:
230
230
- Updates to resolve security vulnerabilities in dependencies.
@@ -300,7 +300,7 @@ incorrect values when classes have the same name.
300
300
301
301
NOTE: [Prior Release Notes are below...](#prior-release-notes)
302
302
303
-
###Additional Examples:
303
+
## Additional Examples:
304
304
305
305
### Simple Example for Sql Bulk Insert or Update :
306
306
Usage is very simple if you use a lightweigth Model (e.g. ORM model via Dapper) to load data from your tables...
@@ -332,10 +332,21 @@ Usage is very simple if you use a lightweigth Model (e.g. ORM model via Dapper)
332
332
333
333
```
334
334
335
-
### Example Data Model Table/Column name mapping via Annotations
336
-
NOTE: The fully qualified format isn't strictly required, but is encouraged; the `[dbo]` schema will be used as default if not specified.
335
+
### Example Data Model Table/Column name & value mapping via Annotations
336
+
The library supports the following attribute annotations and respective functionality:
337
+
1.` [SqlBulkTable("")]` -- Defines the Table name mapping of the class
338
+
- Similar attributes from Dapper & RepoDb are also fully supported for models that already utilize them.
339
+
2.`[SqlBulkColumn("")]` -- Defines the Column name mapping of the property
340
+
- Similar attributes from Dapper & RepoDb are also fully supported for models that already utilize them.
341
+
3.`[SqlBulkIgnore]` -- Column vs Schema differences are automatically resolved, however for edge cases this allows developers to explicitly ignore/exclude a property from being used when writing to the database.
342
+
4.`ISqlBulkHelpersPropertyTransformer` -- Any custom property attribute that implements this interface will be used for custom property transformation when writing to the database...
343
+
- A great use of this is when one column stores some unstructures (NoSql) data for the record/row which can be automatically serialized from the Properties Class/Object. An out-of-the-box implementation of this is now provided via `[SqlBulkConvertToJson]` attribute.
344
+
- Json Serialization (via System.Text.Json) can be controlled explicitly by setting the `SqlBulkJsonConverterSerializerOp tions` property via `SqlBulkHelpersConfig.ConfigureDefaults()` in your bootstrap/startup code.
345
+
- Similarly the `IPropertyHandler` and associated `[PropertyHandler]` attribute from RepoDb is fully supported here also for the same functionality (uses the `Set()` method of RepoDbs interface).
346
+
347
+
NOTE: For Table & Column names, the fully qualified format isn't strictly required, but is encouraged; the `[dbo]` schema will be used as default if not specified.
337
348
338
-
*WARNING: Do NOT use `.` in your Schemaor Table Names... this is not only a really bad sql code smell, it will break the parsing logic.*
349
+
*WARNING: Do NOT use `.` in your Schema, Table, or Column Names... this is not only a really bad sql code smell, it will break the parsing logic.*
0 commit comments