- 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
- Articles
- Troubleshooting
- Release Notes
Entity Framework Extensions MergeKeepIdentity
Description
The BulkOperation.InsertKeepIdentity
sets if the source identity value should be preserved on Merge
. When not specified, identity values are assigned by the destination.
In the following example, the MergeKeepIdentity
is enabled and the specified value for IdentityInt
column will be stored in the database instead of the database generated values on MERGE
operation.
using (var context = new EntityContext()) { var list = context.Customers.ToList(); list.ForEach(x => x.Name += "_Merged" ); list.ForEach(x => x.IdentityInt += 100 ); list.Add( new Customer() { CustomerID = 3, IdentityInt = 4, Name ="Customer_C" }); context.BulkMerge(list, options => options.MergeKeepIdentity = true); }
- The
IdentityInt
column for existing records will not be updated, only for the new records, it will preserve the specified value.
Purpose
The MergeKeepIdentity
option lets you keep the source identity value when merging
.
By example, when importing a file, you may want to keep the specified value.
Author: ZZZ Projects