- 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 Column InputOutput Expression
Description
The ColumnInputOutputExpression
allows you to choose specific properties in which you want to perform the bulk operations with the direction InputOutput
.
The key is required for operation such as BulkUpdate
and BulkMerge
. The following example uses CustomerID
, Description
, IsActive
properties in the ColumnInputOutputExpression
.
using (var context = new EntityContext()) { List<Customer> list = new List<Customer>() { new Customer() { Name ="Customer_A", Description = "Description" , IsActive = false }, new Customer() { Name ="Customer_B", Description = "Description", IsActive = true }, new Customer() { Name ="Customer_C", Description = "Description" , IsActive = true }}; context.BulkMerge(list, options => options.ColumnInputOutputExpression = c => new { c.Description, c.IsActive } ); }
- It will merge data for
CustomerID
,Description
andIsActive
fields and all other properties will remainNULL
in the database. - It will also update the list by updating only the specified properties from the database.
Author: ZZZ Projects