- 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
Entity Framework Extensions Ignore OnMergeMatched AndOneNotCondition Expression
Description
The IgnoreOnMergeMatchedAndOneNotConditionExpression
is the inverse of MergeMatchedAndNotConditionExpression
- The
MergeMatchedAndNotConditionExpression
allows you to perform only theUPDATE
in theBulkMerge
if the specified property value is not equal to the database value. - So by default, all columns are included in
IgnoreOnMergeMatchedAndOneNotConditionExpression
but not the one you choose to ignore.
The following example updates all those records in which the ModifiedDate
property is not equal to database value. It ignores the properties specified in IgnoreOnMergeMatchedAndOneNotConditionExpression
if their value is equal to the database or not.
using (var context = new EntityContext()) { var customers = context.Customers.ToList(); customers.ForEach(x => { x.Name += "_Updated"; x.Description += "_Updated"; x.IsActive = false; }); customers.Take(2).ToList().ForEach(x => { x.ModifiedDate = DateTime.Now; }); context.BulkMerge(customers, options => { options.IgnoreOnMergeMatchedAndOneNotConditionExpression = c => new { c.Name, c.Description, c.CreatedDate, c.IsActive }; }); }
- It will update all the records except for the last one.
- The
ModifiedDate
property is only updated for the first two records and not for the last record.
Author: ZZZ Projects