- Main Features
-
Bulk Options
- Bulk Options
- Audit
- Batch
-
Column
- Column Input Expression
- Column Output Expression
- Column InputOutput Expression
- Column PrimaryKey Expression
- Column Synchronize DeleteKey Subset Expression
- Ignore OnInsert Expression
- Ignore OnMergeInsert Expression
- Ignore OnMergeMatched AndCondition Expression
- Ignore OnMergeMatched AndOneNotCondition Expression
- Ignore OnMergeUpdate Expression
- Ignore OnSynchronizeInsert Expression
- Ignore OnSynchronizeMatched AndCondition Expression
- Ignore OnSynchronizeMatched AndOneNotCondition Expression
- Ignore OnSynchronizeUpdate Expression
- Ignore OnUpdate Expression
- Ignore OnUpdateMatched AndCondition Expression
- Ignore OnUpdateMatched AndOneNotCondition Expression
- MergeMatched AndCondition Expression
- MergeMatched AndNotCondition Expression
- SynchronizeMatched AndCondition Expression
- SynchronizeMatched AndOneNotCondition Expression
- UpdateMatched AndCondition Expression
- UpdateMatched AndOneNotCondition Expression
- Coalesce Destination OnMergeUpdate Expression
- Coalesce Destination OnUpdate Expression
- Coalesce OnMergeUpdate Expression
- Coalesce OnUpdate Expression
- Context Factory
- Execute Event
- ExplicitValueResolutionMode
- Identity
- Include Graph
- ForceValueGeneratedStrategy
- Key
- Logging
- Rows Affected
- Temporary Table
- Transaction
- Transient Error
- SQL Server
- Coalesce
- Coalesce Destination
- Delete Matched and Condition
- Delete Matched and one NOT Condition
- Delete Matched and Formula
- Matched and Condition
- Matched and one NOT Condition
- Matched and Formula
- Batch Operations
- Events
- Utilities
- C# Eval Expression
30% OFF - 10th Anniversary discount on new purchases until December 15 with code: ZZZANNIVERSARY10
Entity Framework Extensions PreBulkSaveChanges
Description
The PreBulkSaveChanges
event is raised as soon as the BulkSaveChanges
method is called and no configuration or anything else is done before. It allows you to set some global configuration for BulkSaveChanges
.
Example
The following example sets the CreatedDate
for new customers and ModifiedDate
property for existing customers.
EntityFrameworkManager.PreBulkSaveChanges = ctx => { var modifiedEntities = ctx.ChangeTracker.Entries().ToList(); foreach (var change in modifiedEntities) { if (objectStateEntry.State == EntityState.Added) { change.CurrentValues["CreatedDate"] = DateTime.Now; } else if (objectStateEntry.State == EntityState.Modified) { change.CurrentValues["ModifiedDate"] = DateTime.Now; } } };
Try it in EF Core | Try it in EF6
In the PreBulkSaveChanges
event, the CreatedDate
for new customers and ModifiedDate
property for existing customers is set to DateTime.Now
before the data is saved to the database.
Author: ZZZ Projects