Entity Framework Extensions Ignore OnSynchronizeMatched AndOneNotCondition Expression


The IgnoreOnSynchronizeMatchedAndOneNotConditionExpression is the inverse of SynchronizeMatchedAndNotConditionExpression

  • The SynchronizeMatchedAndOneNotConditionExpression allows you to perform the bulk synchronize operation if the specified property value is not equal to the database value.
  • So by default, all columns are included in IgnoreOnSynchronizeMatchedAndOneNotConditionExpression but not the one you choose to ignore.

The following example updates all those records in which the ModifiedDate property is not equal to a database value. It ignores the specified properties in IgnoreOnSynchronizeMatchedAndOneNotConditionExpression 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.BulkUpdate(customers, options => 
        options.IgnoreOnUpdateMatchedAndOneNotConditionExpression = c => new 

Try it: EF Core | EF6

  • It will update all the records except for the last record.
  • The ModifiedDate property is only updated for the first two records and not for the last record.

Last updated: 2023-03-01