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
TLeftThe LHS type of the synchronization rule
TRightThe 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
inputTRightThe corresponding RHS element
candidatesIEnumerable<TLeft>Candidates for the LHS element or null
contextISynchronizationContextThe synchronization context
existingboolTrue, 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
inputTLeftThe corresponding LHS element
candidatesIEnumerable<TRight>Candidates for the RHS element or null
contextISynchronizationContextThe synchronization context
existingboolTrue, 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
synchronizationRuleSynchronizationRuleBaseThe other synchronization rule with more abstract LHS and RHS types
leftPredicateExpression<Func<TLeft, bool>>A filter function on the LHS when this instantiation applies or null
rightPredicateExpression<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
leftTLeftThe LHS element
rightTRightThe RHS element
contextISynchronizationContextThe 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
rightsICollection<TRight>The right elements
leftsICollection<TLeft>The left elements
contextISynchronizationContextThe synchronization context
ignoreCandidatesboolTrue, 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
leftsICollection<TLeft>The left elements
rightsICollection<TRight>The right elements
contextISynchronizationContextThe synchronization context
ignoreCandidatesboolTrue, 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
leftSelectorExpression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSetterAction<TRight, ITransformationContext, TValue>A RHS setter
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSetterAction<TRight, TValue>A RHS setter
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSetterAction<TLeft, ITransformationContext, TValue>A LHS setter
rightSelectorExpression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSetterAction<TLeft, TValue>A LHS setter
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSetterAction<TRight, ITransformationContext, TValue>A RHS setter
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSetterAction<TRight, ITransformationContext, TValue>A RHS setter
guardExpression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
guardExpression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSetterAction<TRight, TValue>A RHS setter
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSetterAction<TRight, TValue>A RHS setter
guardExpression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
guardExpression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValueThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
guardExpression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, TDepLeft>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TDepRight>>The RHS in-model lens
guardExpression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
leftSelectorFunc<TLeft, ICollectionExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ICollectionExpression<TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, ICollectionExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ICollectionExpression<TValue>>The RHS in-model lens
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ICollection<TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ICollection<TValue>>The RHS in-model lens
guardExpression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ICollection<TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ICollection<TValue>>The RHS in-model lens
guardExpression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, ITransformationContext, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ITransformationContext, ICollection<TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, ITransformationContext, IEnumerableExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ITransformationContext, ICollection<TValue>>The RHS in-model lens
guardExpression<Func<TLeft, bool>>A guard condition or null
Type Parameters
TValueThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, IEnumerableExpression<TDepLeft>>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ICollection<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ITransformationContext, IEnumerableExpression<TDepLeft>>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, ICollection<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
leftSelectorFunc<TLeft, ICollection<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, IEnumerableExpression<TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, ICollection<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, IEnumerableExpression<TValue>>The RHS in-model lens
guardExpression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, ICollection<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, IEnumerableExpression<TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, ICollection<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, IEnumerableExpression<TValue>>The RHS in-model lens
guardExpression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValueThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ITransformationContext, ICollection<TDepLeft>>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, IEnumerableExpression<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ICollection<TDepLeft>>>The LHS in-model lens
rightSelectorExpression<Func<TRight, IEnumerableExpression<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
leftSelectorFunc<TLeft, ICollectionExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ICollectionExpression<TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorFunc<TLeft, ICollectionExpression<TValue>>The LHS in-model lens
rightSelectorFunc<TRight, ICollectionExpression<TValue>>The RHS in-model lens
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TValueThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ICollectionExpression<TDepLeft>>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ICollectionExpression<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ITransformationContext, ICollectionExpression<TDepLeft>>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, ICollectionExpression<TDepRight>>>The RHS in-model lens
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
actionAction<TLeft, TRight, SynchronizationDirection, ISynchronizationContext>The action to perform
isEarlyboolTrue, 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
actionFunc<TLeft, TRight, SynchronizationDirection, ISynchronizationContext, IDisposable>The action to perform
isEarlyboolTrue, 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
leftSetterAction<TLeft, ITransformationContext, TValue>A LHS setter
rightSelectorExpression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSetterAction<TLeft, ITransformationContext, TValue>A LHS setter
rightSelectorExpression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
guardExpression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSetterAction<TLeft, TValue>A LHS setter
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSetterAction<TLeft, TValue>A LHS setter
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
guardExpression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, ITransformationContext, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, TValue>>The RHS in-model lens
guardExpression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
guardExpression<Func<TRight, bool>>A guard condition or null
Type Parameters
TValueThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
guardExpression<Func<TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, TDepLeft>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TDepRight>>The RHS in-model lens
guardExpression<Func<TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
Type Parameters
TValueThe 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
leftSelectorExpression<Func<TLeft, TValue>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TValue>>The RHS in-model lens
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TValueThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
leftSetterAction<TLeft, ITransformationContext, TDepLeft>An alternative LHS lens put
rightSelectorExpression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
rightSetterAction<TRight, ITransformationContext, TDepRight>An alternative RHS lens put
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
leftSetterAction<TLeft, ITransformationContext, TDepLeft>An alternative LHS lens put
rightSelectorExpression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
rightSetterAction<TRight, ITransformationContext, TDepRight>An alternative RHS lens put
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, ITransformationContext, TDepLeft>>The LHS in-model lens
rightSelectorExpression<Func<TRight, ITransformationContext, TDepRight>>The RHS in-model lens
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, TDepLeft>>The LHS in-model lens
leftSetterAction<TLeft, TDepLeft>An alternative LHS lens put
rightSelectorExpression<Func<TRight, TDepRight>>The RHS in-model lens
rightSetterAction<TRight, TDepRight>An alternative RHS lens put
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, TDepLeft>>The LHS in-model lens
leftSetterAction<TLeft, TDepLeft>An alternative LHS lens put
rightSelectorExpression<Func<TRight, TDepRight>>The RHS in-model lens
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, TDepLeft>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TDepRight>>The RHS in-model lens
rightSetterAction<TRight, TDepRight>An alternative RHS lens put
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe 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
ruleSynchronizationRule<TDepLeft, TDepRight>The rule that should be used as isomorphism
leftSelectorExpression<Func<TLeft, TDepLeft>>The LHS in-model lens
rightSelectorExpression<Func<TRight, TDepRight>>The RHS in-model lens
guardExpression<Func<TLeft, TRight, bool>>A guard condition or null
Type Parameters
TDepLeftThe dependent LHS type
TDepRightThe dependent RHS type