Class SynchronizationRule<TLeft, TRight>
- Namespace
- NMF.Synchronizations
- Assembly
- NMF.Synchronizations.dll
Denotes an abstract synchronization rule
public abstract class SynchronizationRule<TLeft, TRight> : SynchronizationRuleBase
Type Parameters
TLeft
The LHS type of the synchronization rule
TRight
The RHS type of the synchronization rule
- Inheritance
-
SynchronizationRule<TLeft, TRight>
- Derived
- Inherited Members
Constructors
SynchronizationRule()
Creates a new instance
protected SynchronizationRule()
Properties
LeftToRight
Gets the transformation rule responsible of transforming elements from left to right
public TransformationRuleBase<TLeft, TRight> LeftToRight { get; }
Property Value
- TransformationRuleBase<TLeft, TRight>
LeftType
Gets the LHS type of this rule
public override sealed Type LeftType { get; }
Property Value
OutputDelayLevel
Gets or sets the output delay level of the transformations
public byte OutputDelayLevel { get; set; }
Property Value
RightToLeft
Gets the transformation rule responsible of transforming elements from right to left
public TransformationRuleBase<TRight, TLeft> RightToLeft { get; }
Property Value
- TransformationRuleBase<TRight, TLeft>
RightType
Gets the RHS type of this rule
public override sealed Type RightType { get; }
Property Value
SynchronizationJobs
Gets the jobs performed by this synchronization rule
public ICollection<ISynchronizationJob<TLeft, TRight>> SynchronizationJobs { get; }
Property Value
- ICollection<ISynchronizationJob<TLeft, TRight>>
TransformationDelayLevel
Gets or sets the transformation delay level
public byte TransformationDelayLevel { get; set; }
Property Value
Methods
CreateLeftOutput(TRight, IEnumerable<TLeft>, ISynchronizationContext, out bool)
Creates the LHS output
protected virtual TLeft CreateLeftOutput(TRight input, IEnumerable<TLeft> candidates, ISynchronizationContext context, out bool existing)
Parameters
input
TRightThe corresponding RHS element
candidates
IEnumerable<TLeft>Candidates for the LHS element or null
context
ISynchronizationContextThe synchronization context
existing
boolTrue, if an existing element is returned, otherwise False
Returns
- TLeft
The LHS element
CreateRightOutput(TLeft, IEnumerable<TRight>, ISynchronizationContext, out bool)
Creates the RHS output
protected virtual TRight CreateRightOutput(TLeft input, IEnumerable<TRight> candidates, ISynchronizationContext context, out bool existing)
Parameters
input
TLeftThe corresponding LHS element
candidates
IEnumerable<TRight>Candidates for the RHS element or null
context
ISynchronizationContextThe synchronization context
existing
boolTrue, if an existing element is returned, otherwise False
Returns
- TRight
The RHS element
MarkInstantiatingFor(SynchronizationRuleBase, Expression<Func<TLeft, bool>>, Expression<Func<TRight, bool>>)
Marks this synchronization rule instantiating for the given other synchronization rule
public void MarkInstantiatingFor(SynchronizationRuleBase synchronizationRule, Expression<Func<TLeft, bool>> leftPredicate = null, Expression<Func<TRight, bool>> rightPredicate = null)
Parameters
synchronizationRule
SynchronizationRuleBaseThe other synchronization rule with more abstract LHS and RHS types
leftPredicate
Expression<Func<TLeft, bool>>A filter function on the LHS when this instantiation applies or null
rightPredicate
Expression<Func<TRight, bool>>A filter function on the RHS when this instantiation applies or null
ShouldCorrespond(TLeft, TRight, ISynchronizationContext)
Determines whether a correspondence shoulf be established between the given LHS and RHS elements
public virtual bool ShouldCorrespond(TLeft left, TRight right, ISynchronizationContext context)
Parameters
left
TLeftThe LHS element
right
TRightThe RHS element
context
ISynchronizationContextThe context in which the synchronization is run
Returns
- bool
True, if the elements should be regarded as corresponding to each other, otherwise false
SynchronizeCollectionsLeftToRight(ICollection<TRight>, ICollection<TLeft>, ISynchronizationContext, bool)
Synchronizes collections of LHS and RHS elements in the direction lefts to rights
protected virtual void SynchronizeCollectionsLeftToRight(ICollection<TRight> rights, ICollection<TLeft> lefts, ISynchronizationContext context, bool ignoreCandidates)
Parameters
rights
ICollection<TRight>The right elements
lefts
ICollection<TLeft>The left elements
context
ISynchronizationContextThe synchronization context
ignoreCandidates
boolTrue, if candidates can be ignored, otherwise false
SynchronizeCollectionsRightToLeft(ICollection<TLeft>, ICollection<TRight>, ISynchronizationContext, bool)
Synchronizes collections of LHS and RHS elements in the direction rights to lefts
protected virtual void SynchronizeCollectionsRightToLeft(ICollection<TLeft> lefts, ICollection<TRight> rights, ISynchronizationContext context, bool ignoreCandidates)
Parameters
lefts
ICollection<TLeft>The left elements
rights
ICollection<TRight>The right elements
context
ISynchronizationContextThe synchronization context
ignoreCandidates
boolTrue, if candidates can be ignored, otherwise false
SynchronizeLateLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>>, Action<TRight, ITransformationContext, TValue>)
Synchronizes the dependent values but only left to right
public void SynchronizeLateLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>> leftSelector, Action<TRight, ITransformationContext, TValue> rightSetter)
Parameters
leftSelector
Expression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSetter
Action<TRight, ITransformationContext, TValue>A RHS setter
Type Parameters
TValue
The type of the values
SynchronizeLateLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>>, Action<TRight, TValue>)
Synchronizes the dependent values but only left to right
public void SynchronizeLateLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Action<TRight, TValue> rightSetter)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSetter
Action<TRight, TValue>A RHS setter
Type Parameters
TValue
The type of the values
SynchronizeLateLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>>, Expression<Func<TRight, TValue>>)
Synchronizes the dependent values but only left to right
public void SynchronizeLateLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Expression<Func<TRight, TValue>> rightSelector)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeLateRightToLeftOnly<TValue>(Action<TLeft, ITransformationContext, TValue>, Expression<Func<TRight, ITransformationContext, TValue>>)
Synchronizes the dependent values but only right to left
public void SynchronizeLateRightToLeftOnly<TValue>(Action<TLeft, ITransformationContext, TValue> leftSetter, Expression<Func<TRight, ITransformationContext, TValue>> rightSelector)
Parameters
leftSetter
Action<TLeft, ITransformationContext, TValue>A LHS setter
rightSelector
Expression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeLateRightToLeftOnly<TValue>(Action<TLeft, TValue>, Expression<Func<TRight, TValue>>)
Synchronizes the dependent values but only right to left
public void SynchronizeLateRightToLeftOnly<TValue>(Action<TLeft, TValue> leftSetter, Expression<Func<TRight, TValue>> rightSelector)
Parameters
leftSetter
Action<TLeft, TValue>A LHS setter
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeLateRightToLeftOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>>, Expression<Func<TRight, ITransformationContext, TValue>>)
Synchronizes the dependent values but only right to left
public void SynchronizeLateRightToLeftOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>> leftSelector, Expression<Func<TRight, ITransformationContext, TValue>> rightSelector)
Parameters
leftSelector
Expression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeLateRightToLeftOnly<TValue>(Expression<Func<TLeft, TValue>>, Expression<Func<TRight, TValue>>)
Synchronizes the dependent values but only right to left
public void SynchronizeLateRightToLeftOnly<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Expression<Func<TRight, TValue>> rightSelector)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeLate<TValue>(Expression<Func<TLeft, TValue>>, Expression<Func<TRight, TValue>>)
Synchronizes the dependent values late
public void SynchronizeLate<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Expression<Func<TRight, TValue>> rightSelector)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>>, Action<TRight, ITransformationContext, TValue>)
Synchronizes the dependent values but only left to right
public void SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>> leftSelector, Action<TRight, ITransformationContext, TValue> rightSetter)
Parameters
leftSelector
Expression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSetter
Action<TRight, ITransformationContext, TValue>A RHS setter
Type Parameters
TValue
The type of the values
SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>>, Action<TRight, ITransformationContext, TValue>, Expression<Func<TLeft, bool>>)
Synchronizes the dependent values but only left to right
public void SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>> leftSelector, Action<TRight, ITransformationContext, TValue> rightSetter, Expression<Func<TLeft, bool>> guard)
Parameters
leftSelector
Expression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSetter
Action<TRight, ITransformationContext, TValue>A RHS setter
guard
Expression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValue
The type of the values
SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>>, Expression<Func<TRight, ITransformationContext, TValue>>)
Synchronizes the dependent values but only left to right
public void SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>> leftSelector, Expression<Func<TRight, ITransformationContext, TValue>> rightSelector)
Parameters
leftSelector
Expression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>>, Expression<Func<TRight, ITransformationContext, TValue>>, Expression<Func<TLeft, bool>>)
Synchronizes the dependent values but only left to right
public void SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>> leftSelector, Expression<Func<TRight, ITransformationContext, TValue>> rightSelector, Expression<Func<TLeft, bool>> guard)
Parameters
leftSelector
Expression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
guard
Expression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValue
The type of the values
SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>>, Action<TRight, TValue>)
Synchronizes the dependent values but only left to right
public void SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Action<TRight, TValue> rightSetter)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSetter
Action<TRight, TValue>A RHS setter
Type Parameters
TValue
The type of the values
SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>>, Action<TRight, TValue>, Expression<Func<TLeft, bool>>)
Synchronizes the dependent values but only left to right
public void SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Action<TRight, TValue> rightSetter, Expression<Func<TLeft, bool>> guard)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSetter
Action<TRight, TValue>A RHS setter
guard
Expression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValue
The type of the values
SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>>, Expression<Func<TRight, TValue>>)
Synchronizes the dependent values but only left to right
public void SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Expression<Func<TRight, TValue>> rightSelector)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>>, Expression<Func<TRight, TValue>>, Expression<Func<TLeft, bool>>)
Synchronizes the dependent values but only left to right
public void SynchronizeLeftToRightOnly<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Expression<Func<TRight, TValue>> rightSelector, Expression<Func<TLeft, bool>> guard)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
guard
Expression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValue
The type of the values
SynchronizeLeftToRightOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ITransformationContext, TDepLeft>>, Expression<Func<TRight, ITransformationContext, TDepRight>>, Expression<Func<TLeft, bool>>)
Synchronizes the dependent elements using the provided synchronization rule but only Left to Right
public void SynchronizeLeftToRightOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ITransformationContext, TDepLeft>> leftSelector, Expression<Func<TRight, ITransformationContext, TDepRight>> rightSelector, Expression<Func<TLeft, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
guard
Expression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
SynchronizeLeftToRightOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, TDepLeft>>, Expression<Func<TRight, TDepRight>>, Expression<Func<TLeft, bool>>)
Synchronizes the dependent elements using the provided synchronization rule but only Left to Right
public void SynchronizeLeftToRightOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, TDepLeft>> leftSelector, Expression<Func<TRight, TDepRight>> rightSelector, Expression<Func<TLeft, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, TDepLeft>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TDepRight>>The RHS in-model lens
guard
Expression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
SynchronizeManyLate<TValue>(Func<TLeft, ICollectionExpression<TValue>>, Func<TRight, ICollectionExpression<TValue>>)
Synchronizes the dependent values
public void SynchronizeManyLate<TValue>(Func<TLeft, ICollectionExpression<TValue>> leftSelector, Func<TRight, ICollectionExpression<TValue>> rightSelector)
Parameters
leftSelector
Func<TLeft, ICollectionExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ICollectionExpression<TValue>>The RHS in-model lens
Type Parameters
TValue
The type of values
SynchronizeManyLate<TValue>(Func<TLeft, ICollectionExpression<TValue>>, Func<TRight, ICollectionExpression<TValue>>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent values
public void SynchronizeManyLate<TValue>(Func<TLeft, ICollectionExpression<TValue>> leftSelector, Func<TRight, ICollectionExpression<TValue>> rightSelector, Expression<Func<TLeft, TRight, bool>> guard)
Parameters
leftSelector
Func<TLeft, ICollectionExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ICollectionExpression<TValue>>The RHS in-model lens
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TValue
The type of values
SynchronizeManyLeftToRightOnlyLate<TValue>(Func<TLeft, IEnumerableExpression<TValue>>, Func<TRight, ICollection<TValue>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyLeftToRightOnlyLate<TValue>(Func<TLeft, IEnumerableExpression<TValue>> leftSelector, Func<TRight, ICollection<TValue>> rightSelector)
Parameters
leftSelector
Func<TLeft, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ICollection<TValue>>The RHS in-model lens
Type Parameters
TValue
The type of values
SynchronizeManyLeftToRightOnlyLate<TValue>(Func<TLeft, IEnumerableExpression<TValue>>, Func<TRight, ICollection<TValue>>, Expression<Func<TLeft, bool>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyLeftToRightOnlyLate<TValue>(Func<TLeft, IEnumerableExpression<TValue>> leftSelector, Func<TRight, ICollection<TValue>> rightSelector, Expression<Func<TLeft, bool>> guard)
Parameters
leftSelector
Func<TLeft, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ICollection<TValue>>The RHS in-model lens
guard
Expression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValue
The type of values
SynchronizeManyLeftToRightOnly<TValue>(Func<TLeft, IEnumerableExpression<TValue>>, Func<TRight, ICollection<TValue>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyLeftToRightOnly<TValue>(Func<TLeft, IEnumerableExpression<TValue>> leftSelector, Func<TRight, ICollection<TValue>> rightSelector)
Parameters
leftSelector
Func<TLeft, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ICollection<TValue>>The RHS in-model lens
Type Parameters
TValue
The type of values
SynchronizeManyLeftToRightOnly<TValue>(Func<TLeft, IEnumerableExpression<TValue>>, Func<TRight, ICollection<TValue>>, Expression<Func<TLeft, bool>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyLeftToRightOnly<TValue>(Func<TLeft, IEnumerableExpression<TValue>> leftSelector, Func<TRight, ICollection<TValue>> rightSelector, Expression<Func<TLeft, bool>> guard)
Parameters
leftSelector
Func<TLeft, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ICollection<TValue>>The RHS in-model lens
guard
Expression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValue
The type of values
SynchronizeManyLeftToRightOnly<TValue>(Func<TLeft, ITransformationContext, IEnumerableExpression<TValue>>, Func<TRight, ITransformationContext, ICollection<TValue>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyLeftToRightOnly<TValue>(Func<TLeft, ITransformationContext, IEnumerableExpression<TValue>> leftSelector, Func<TRight, ITransformationContext, ICollection<TValue>> rightSelector)
Parameters
leftSelector
Func<TLeft, ITransformationContext, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ITransformationContext, ICollection<TValue>>The RHS in-model lens
Type Parameters
TValue
The type of values
SynchronizeManyLeftToRightOnly<TValue>(Func<TLeft, ITransformationContext, IEnumerableExpression<TValue>>, Func<TRight, ITransformationContext, ICollection<TValue>>, Expression<Func<TLeft, bool>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyLeftToRightOnly<TValue>(Func<TLeft, ITransformationContext, IEnumerableExpression<TValue>> leftSelector, Func<TRight, ITransformationContext, ICollection<TValue>> rightSelector, Expression<Func<TLeft, bool>> guard)
Parameters
leftSelector
Func<TLeft, ITransformationContext, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ITransformationContext, ICollection<TValue>>The RHS in-model lens
guard
Expression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValue
The type of values
SynchronizeManyLeftToRightOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, IEnumerableExpression<TDepLeft>>>, Expression<Func<TRight, ICollection<TDepRight>>>)
Synchronizes the dependent elements using the provided synchronization rule but only Left to Right
public void SynchronizeManyLeftToRightOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, IEnumerableExpression<TDepLeft>>> leftSelector, Expression<Func<TRight, ICollection<TDepRight>>> rightSelector) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, IEnumerableExpression<TDepLeft>>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ICollection<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
SynchronizeManyLeftToRightOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ITransformationContext, IEnumerableExpression<TDepLeft>>>, Expression<Func<TRight, ITransformationContext, ICollection<TDepRight>>>)
Synchronizes the dependent elements using the provided synchronization rule but only Left to Right
public void SynchronizeManyLeftToRightOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ITransformationContext, IEnumerableExpression<TDepLeft>>> leftSelector, Expression<Func<TRight, ITransformationContext, ICollection<TDepRight>>> rightSelector) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ITransformationContext, IEnumerableExpression<TDepLeft>>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, ICollection<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
SynchronizeManyRightToLeftOnlyLate<TValue>(Func<TLeft, ICollection<TValue>>, Func<TRight, IEnumerableExpression<TValue>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyRightToLeftOnlyLate<TValue>(Func<TLeft, ICollection<TValue>> leftSelector, Func<TRight, IEnumerableExpression<TValue>> rightSelector)
Parameters
leftSelector
Func<TLeft, ICollection<TValue>>The LHS in-model lens
rightSelector
Func<TRight, IEnumerableExpression<TValue>>The RHS in-model lens
Type Parameters
TValue
The type of values
SynchronizeManyRightToLeftOnlyLate<TValue>(Func<TLeft, ICollection<TValue>>, Func<TRight, IEnumerableExpression<TValue>>, Expression<Func<TRight, bool>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyRightToLeftOnlyLate<TValue>(Func<TLeft, ICollection<TValue>> leftSelector, Func<TRight, IEnumerableExpression<TValue>> rightSelector, Expression<Func<TRight, bool>> guard)
Parameters
leftSelector
Func<TLeft, ICollection<TValue>>The LHS in-model lens
rightSelector
Func<TRight, IEnumerableExpression<TValue>>The RHS in-model lens
guard
Expression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValue
The type of values
SynchronizeManyRightToLeftOnly<TValue>(Func<TLeft, ICollection<TValue>>, Func<TRight, IEnumerableExpression<TValue>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyRightToLeftOnly<TValue>(Func<TLeft, ICollection<TValue>> leftSelector, Func<TRight, IEnumerableExpression<TValue>> rightSelector)
Parameters
leftSelector
Func<TLeft, ICollection<TValue>>The LHS in-model lens
rightSelector
Func<TRight, IEnumerableExpression<TValue>>The RHS in-model lens
Type Parameters
TValue
The type of values
SynchronizeManyRightToLeftOnly<TValue>(Func<TLeft, ICollection<TValue>>, Func<TRight, IEnumerableExpression<TValue>>, Expression<Func<TRight, bool>>)
Synchronizes the dependent values but only left to right
public void SynchronizeManyRightToLeftOnly<TValue>(Func<TLeft, ICollection<TValue>> leftSelector, Func<TRight, IEnumerableExpression<TValue>> rightSelector, Expression<Func<TRight, bool>> guard)
Parameters
leftSelector
Func<TLeft, ICollection<TValue>>The LHS in-model lens
rightSelector
Func<TRight, IEnumerableExpression<TValue>>The RHS in-model lens
guard
Expression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValue
The type of values
SynchronizeManyRightToLeftOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ITransformationContext, ICollection<TDepLeft>>>, Expression<Func<TRight, ITransformationContext, IEnumerableExpression<TDepRight>>>)
Synchronizes the dependent elements using the provided synchronization rule but only Right to Left
public void SynchronizeManyRightToLeftOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ITransformationContext, ICollection<TDepLeft>>> leftSelector, Expression<Func<TRight, ITransformationContext, IEnumerableExpression<TDepRight>>> rightSelector) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ITransformationContext, ICollection<TDepLeft>>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, IEnumerableExpression<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
SynchronizeManyRightToLeftOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ICollection<TDepLeft>>>, Expression<Func<TRight, IEnumerableExpression<TDepRight>>>)
Synchronizes the dependent elements using the provided synchronization rule but only Right to Left
public void SynchronizeManyRightToLeftOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ICollection<TDepLeft>>> leftSelector, Expression<Func<TRight, IEnumerableExpression<TDepRight>>> rightSelector) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ICollection<TDepLeft>>>The LHS in-model lens
rightSelector
Expression<Func<TRight, IEnumerableExpression<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
SynchronizeMany<TValue>(Func<TLeft, ICollectionExpression<TValue>>, Func<TRight, ICollectionExpression<TValue>>)
Synchronizes the dependent values
public void SynchronizeMany<TValue>(Func<TLeft, ICollectionExpression<TValue>> leftSelector, Func<TRight, ICollectionExpression<TValue>> rightSelector)
Parameters
leftSelector
Func<TLeft, ICollectionExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ICollectionExpression<TValue>>The RHS in-model lens
Type Parameters
TValue
The type of values
SynchronizeMany<TValue>(Func<TLeft, ICollectionExpression<TValue>>, Func<TRight, ICollectionExpression<TValue>>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent values
public void SynchronizeMany<TValue>(Func<TLeft, ICollectionExpression<TValue>> leftSelector, Func<TRight, ICollectionExpression<TValue>> rightSelector, Expression<Func<TLeft, TRight, bool>> guard)
Parameters
leftSelector
Func<TLeft, ICollectionExpression<TValue>>The LHS in-model lens
rightSelector
Func<TRight, ICollectionExpression<TValue>>The RHS in-model lens
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TValue
The type of values
SynchronizeMany<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ICollectionExpression<TDepLeft>>>, Expression<Func<TRight, ICollectionExpression<TDepRight>>>)
Synchronizes the dependent elements using the provided synchronization rule
public void SynchronizeMany<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ICollectionExpression<TDepLeft>>> leftSelector, Expression<Func<TRight, ICollectionExpression<TDepRight>>> rightSelector) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ICollectionExpression<TDepLeft>>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ICollectionExpression<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
SynchronizeMany<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ITransformationContext, ICollectionExpression<TDepLeft>>>, Expression<Func<TRight, ITransformationContext, ICollectionExpression<TDepRight>>>)
Synchronizes the dependent elements using the provided synchronization rule
public void SynchronizeMany<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ITransformationContext, ICollectionExpression<TDepLeft>>> leftSelector, Expression<Func<TRight, ITransformationContext, ICollectionExpression<TDepRight>>> rightSelector) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ITransformationContext, ICollectionExpression<TDepLeft>>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, ICollectionExpression<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
SynchronizeOpaque(Action<TLeft, TRight, SynchronizationDirection, ISynchronizationContext>, bool)
Executes the given action when a correspondence between LHS and RHS elements is established
public void SynchronizeOpaque(Action<TLeft, TRight, SynchronizationDirection, ISynchronizationContext> action, bool isEarly = false)
Parameters
action
Action<TLeft, TRight, SynchronizationDirection, ISynchronizationContext>The action to perform
isEarly
boolTrue, if the synchronization job should be performed before dependencies, otherwise False
SynchronizeOpaque(Func<TLeft, TRight, SynchronizationDirection, ISynchronizationContext, IDisposable>, bool)
Executes the given action when a correspondence between LHS and RHS elements is established
public void SynchronizeOpaque(Func<TLeft, TRight, SynchronizationDirection, ISynchronizationContext, IDisposable> action, bool isEarly = false)
Parameters
action
Func<TLeft, TRight, SynchronizationDirection, ISynchronizationContext, IDisposable>The action to perform
isEarly
boolTrue, if the synchronization job should be performed before dependencies, otherwise False
SynchronizeRightToLeftOnly<TValue>(Action<TLeft, ITransformationContext, TValue>, Expression<Func<TRight, ITransformationContext, TValue>>)
Synchronizes the dependent values but only right to left
public void SynchronizeRightToLeftOnly<TValue>(Action<TLeft, ITransformationContext, TValue> leftSetter, Expression<Func<TRight, ITransformationContext, TValue>> rightSelector)
Parameters
leftSetter
Action<TLeft, ITransformationContext, TValue>A LHS setter
rightSelector
Expression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeRightToLeftOnly<TValue>(Action<TLeft, ITransformationContext, TValue>, Expression<Func<TRight, ITransformationContext, TValue>>, Expression<Func<TRight, bool>>)
Synchronizes the dependent values but only right to left
public void SynchronizeRightToLeftOnly<TValue>(Action<TLeft, ITransformationContext, TValue> leftSetter, Expression<Func<TRight, ITransformationContext, TValue>> rightSelector, Expression<Func<TRight, bool>> guard)
Parameters
leftSetter
Action<TLeft, ITransformationContext, TValue>A LHS setter
rightSelector
Expression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
guard
Expression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValue
The type of the values
SynchronizeRightToLeftOnly<TValue>(Action<TLeft, TValue>, Expression<Func<TRight, TValue>>)
Synchronizes the dependent values but only right to left
public void SynchronizeRightToLeftOnly<TValue>(Action<TLeft, TValue> leftSetter, Expression<Func<TRight, TValue>> rightSelector)
Parameters
leftSetter
Action<TLeft, TValue>A LHS setter
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeRightToLeftOnly<TValue>(Action<TLeft, TValue>, Expression<Func<TRight, TValue>>, Expression<Func<TRight, bool>>)
Synchronizes the dependent values but only right to left
public void SynchronizeRightToLeftOnly<TValue>(Action<TLeft, TValue> leftSetter, Expression<Func<TRight, TValue>> rightSelector, Expression<Func<TRight, bool>> guard)
Parameters
leftSetter
Action<TLeft, TValue>A LHS setter
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
guard
Expression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValue
The type of the values
SynchronizeRightToLeftOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>>, Expression<Func<TRight, ITransformationContext, TValue>>, Expression<Func<TRight, bool>>)
Synchronizes the dependent values but only right to left
public void SynchronizeRightToLeftOnly<TValue>(Expression<Func<TLeft, ITransformationContext, TValue>> leftSelector, Expression<Func<TRight, ITransformationContext, TValue>> rightSelector, Expression<Func<TRight, bool>> guard)
Parameters
leftSelector
Expression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
guard
Expression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValue
The type of the values
SynchronizeRightToLeftOnly<TValue>(Expression<Func<TLeft, TValue>>, Expression<Func<TRight, TValue>>)
Synchronizes the dependent values but only right to left
public void SynchronizeRightToLeftOnly<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Expression<Func<TRight, TValue>> rightSelector)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
SynchronizeRightToLeftOnly<TValue>(Expression<Func<TLeft, TValue>>, Expression<Func<TRight, TValue>>, Expression<Func<TRight, bool>>)
Synchronizes the dependent values but only right to left
public void SynchronizeRightToLeftOnly<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Expression<Func<TRight, TValue>> rightSelector, Expression<Func<TRight, bool>> guard)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
guard
Expression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValue
The type of the values
SynchronizeRightToLeftOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ITransformationContext, TDepLeft>>, Expression<Func<TRight, ITransformationContext, TDepRight>>, Expression<Func<TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule but only Right to Left
public void SynchronizeRightToLeftOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ITransformationContext, TDepLeft>> leftSelector, Expression<Func<TRight, ITransformationContext, TDepRight>> rightSelector, Expression<Func<TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
guard
Expression<Func<TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
SynchronizeRightToLeftOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, TDepLeft>>, Expression<Func<TRight, TDepRight>>, Expression<Func<TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule but only Right to Left
public void SynchronizeRightToLeftOnly<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, TDepLeft>> leftSelector, Expression<Func<TRight, TDepRight>> rightSelector, Expression<Func<TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, TDepLeft>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TDepRight>>The RHS in-model lens
guard
Expression<Func<TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
Synchronize<TValue>(Expression<Func<TLeft, TValue>>, Expression<Func<TRight, TValue>>)
Synchronizes the dependent values
public void Synchronize<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Expression<Func<TRight, TValue>> rightSelector)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValue
The type of the values
Synchronize<TValue>(Expression<Func<TLeft, TValue>>, Expression<Func<TRight, TValue>>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent values
public void Synchronize<TValue>(Expression<Func<TLeft, TValue>> leftSelector, Expression<Func<TRight, TValue>> rightSelector, Expression<Func<TLeft, TRight, bool>> guard)
Parameters
leftSelector
Expression<Func<TLeft, TValue>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TValue>>The RHS in-model lens
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TValue
The type of the values
Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ITransformationContext, TDepLeft>>, Action<TLeft, ITransformationContext, TDepLeft>, Expression<Func<TRight, ITransformationContext, TDepRight>>, Action<TRight, ITransformationContext, TDepRight>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule
public void Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ITransformationContext, TDepLeft>> leftSelector, Action<TLeft, ITransformationContext, TDepLeft> leftSetter, Expression<Func<TRight, ITransformationContext, TDepRight>> rightSelector, Action<TRight, ITransformationContext, TDepRight> rightSetter, Expression<Func<TLeft, TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
leftSetter
Action<TLeft, ITransformationContext, TDepLeft>An alternative LHS lens put
rightSelector
Expression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
rightSetter
Action<TRight, ITransformationContext, TDepRight>An alternative RHS lens put
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ITransformationContext, TDepLeft>>, Action<TLeft, ITransformationContext, TDepLeft>, Expression<Func<TRight, ITransformationContext, TDepRight>>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule
public void Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ITransformationContext, TDepLeft>> leftSelector, Action<TLeft, ITransformationContext, TDepLeft> leftSetter, Expression<Func<TRight, ITransformationContext, TDepRight>> rightSelector, Expression<Func<TLeft, TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
leftSetter
Action<TLeft, ITransformationContext, TDepLeft>An alternative LHS lens put
rightSelector
Expression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ITransformationContext, TDepLeft>>, Expression<Func<TRight, ITransformationContext, TDepRight>>, Action<TRight, ITransformationContext, TDepRight>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule
public void Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ITransformationContext, TDepLeft>> leftSelector, Expression<Func<TRight, ITransformationContext, TDepRight>> rightSelector, Action<TRight, ITransformationContext, TDepRight> rightSetter, Expression<Func<TLeft, TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
rightSetter
Action<TRight, ITransformationContext, TDepRight>An alternative RHS lens put
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, ITransformationContext, TDepLeft>>, Expression<Func<TRight, ITransformationContext, TDepRight>>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule
public void Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, ITransformationContext, TDepLeft>> leftSelector, Expression<Func<TRight, ITransformationContext, TDepRight>> rightSelector, Expression<Func<TLeft, TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
rightSelector
Expression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, TDepLeft>>, Action<TLeft, TDepLeft>, Expression<Func<TRight, TDepRight>>, Action<TRight, TDepRight>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule
public void Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, TDepLeft>> leftSelector, Action<TLeft, TDepLeft> leftSetter, Expression<Func<TRight, TDepRight>> rightSelector, Action<TRight, TDepRight> rightSetter, Expression<Func<TLeft, TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, TDepLeft>>The LHS in-model lens
leftSetter
Action<TLeft, TDepLeft>An alternative LHS lens put
rightSelector
Expression<Func<TRight, TDepRight>>The RHS in-model lens
rightSetter
Action<TRight, TDepRight>An alternative RHS lens put
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, TDepLeft>>, Action<TLeft, TDepLeft>, Expression<Func<TRight, TDepRight>>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule
public void Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, TDepLeft>> leftSelector, Action<TLeft, TDepLeft> leftSetter, Expression<Func<TRight, TDepRight>> rightSelector, Expression<Func<TLeft, TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, TDepLeft>>The LHS in-model lens
leftSetter
Action<TLeft, TDepLeft>An alternative LHS lens put
rightSelector
Expression<Func<TRight, TDepRight>>The RHS in-model lens
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, TDepLeft>>, Expression<Func<TRight, TDepRight>>, Action<TRight, TDepRight>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule
public void Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, TDepLeft>> leftSelector, Expression<Func<TRight, TDepRight>> rightSelector, Action<TRight, TDepRight> rightSetter, Expression<Func<TLeft, TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, TDepLeft>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TDepRight>>The RHS in-model lens
rightSetter
Action<TRight, TDepRight>An alternative RHS lens put
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type
Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight>, Expression<Func<TLeft, TDepLeft>>, Expression<Func<TRight, TDepRight>>, Expression<Func<TLeft, TRight, bool>>)
Synchronizes the dependent elements using the provided synchronization rule
public void Synchronize<TDepLeft, TDepRight>(SynchronizationRule<TDepLeft, TDepRight> rule, Expression<Func<TLeft, TDepLeft>> leftSelector, Expression<Func<TRight, TDepRight>> rightSelector, Expression<Func<TLeft, TRight, bool>> guard = null) where TDepLeft : class where TDepRight : class
Parameters
rule
SynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelector
Expression<Func<TLeft, TDepLeft>>The LHS in-model lens
rightSelector
Expression<Func<TRight, TDepRight>>The RHS in-model lens
guard
Expression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeft
The dependent LHS type
TDepRight
The dependent RHS type