30% OFF - 10th Anniversary discount on new purchases until December 15 with code: ZZZANNIVERSARY10
Entity Framework Extensions Ignore OnSynchronizeUpdate Expression
Description
The IgnoreOnSynchronizeUpdateExpression
allows you to ignore some columns when the BulkSynchronize
method executes the UPDATE
statement and these columns will only be used in INSERT
statement.
The following example ignores the CreatedDate
property when updating the existing records, and it will be considered in insertion only.
using (var context = new EntityContext()) { var customers = context.Customers.Take(2).ToList(); customers.ForEach(x => { x.Name += "_Updated"; x.Description += "_Updated"; x.ModifiedDate = DateTime.Now; x.IsActive = false; }); customers.Add(new Customer() { Name = "Alexander", Description = "Description of Alexander", CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now, IsActive = true }); context.BulkSynchronize(customers, options => { options.IgnoreOnSynchronizeUpdateExpression = customer => new { customer.CustomerID, customer.CreatedDate }; }); }
- It updates all the columns of an existing records except for the
CreatedDate
column becauseCreatedDate
property is specified inIgnoreOnSynchronizeUpdateExpression
. - It will insert non-matching rows that exist in the source (
customers
list). - It will also delete non-matching rows that exist in the database.
ZZZ Projects