Class MergeDefinition<TTarget, TSource>  
  
  
    - Namespace
- LinqToDB
- Assembly
- linq2db.dll
 
  
  
  
    public class MergeDefinition<TTarget, TSource> : IMergeableUsing<TTarget>, IMergeableOn<TTarget, TSource>, IMergeable<TTarget, TSource>, IMergeableSource<TTarget, TSource> where TTarget : notnull
   
  Type Parameters
  
    - TTarget
- TSource
    - Inheritance
- 
      
      MergeDefinition<TTarget, TSource> 
    - Implements
- 
      
      
      
      
    
    - Extension Methods
- 
  
  
  
  
  
  
  
  
  
      LinqExtensions.UpdateWhenMatchedAndThenDelete<TTarget, TSource>(IMergeableSource<TTarget, TSource>, Expression<Func<TTarget, TSource, bool>>, Expression<Func<TTarget, TSource, TTarget>>, Expression<Func<TTarget, TSource, bool>>)
   
      LinqExtensions.MergeWithOutputIntoAsync<TTarget, TSource, TOutput>(IMergeable<TTarget, TSource>, ITable<TOutput>, Expression<Func<string, TTarget, TTarget, TSource, TOutput>>, CancellationToken)
   
Constructors
  
  
  MergeDefinition(ITable<TTarget>)
  
  
  
  
  
    public MergeDefinition(ITable<TTarget> target)
   
  Parameters
  
    - targetITable<TTarget>
  MergeDefinition(ITable<TTarget>, IQueryable<TSource>)
  
  
  
  
  
    public MergeDefinition(ITable<TTarget> target, IQueryable<TSource> source)
   
  Parameters
  
    - targetITable<TTarget>
- sourceIQueryable<TSource>
  MergeDefinition(ITable<TTarget>, IQueryable<TSource>, string)
  
  
  
  
  
    public MergeDefinition(ITable<TTarget> target, IQueryable<TSource> source, string hint)
   
  Parameters
  
    - targetITable<TTarget>
- sourceIQueryable<TSource>
- hintstring
  MergeDefinition(ITable<TTarget>, string)
  
  
  
  
  
    public MergeDefinition(ITable<TTarget> target, string hint)
   
  Parameters
  
    - targetITable<TTarget>
- hintstring
Properties
  
  
  EnumerableSource
  
  
  
  
  
    public IEnumerable<TSource>? EnumerableSource { get; }
   
  Property Value
  
    - IEnumerable<TSource>
  Hint
  
  
  
  
  
    public string? Hint { get; }
   
  Property Value
  
    - string
  KeyType
  
  
  
  
  
    public Type? KeyType { get; }
   
  Property Value
  
    - Type
  MatchPredicate
  
  
  
  
  
    public Expression<Func<TTarget, TSource, bool>>? MatchPredicate { get; }
   
  Property Value
  
    - Expression<Func<TTarget, TSource, bool>>
  Operations
  
  
  
  
  
    public MergeDefinition<TTarget, TSource>.Operation[]? Operations { get; }
   
  Property Value
  
    - Operation[]
  QueryableSource
  
  
  
  
  
    public IQueryable<TSource>? QueryableSource { get; }
   
  Property Value
  
    - IQueryable<TSource>
  SourceKey
  
  
  
  
  
    public Expression? SourceKey { get; }
   
  Property Value
  
    - Expression
  Target
  
  
  
  
  
    public ITable<TTarget> Target { get; }
   
  Property Value
  
    - ITable<TTarget>
  TargetKey
  
  
  
  
  
    public Expression? TargetKey { get; }
   
  Property Value
  
    - Expression
Methods
  
  
  AddOnKey<TKey>(Expression<Func<TTarget, TKey>>, Expression<Func<TSource, TKey>>)
  
  
  
  
  
    public MergeDefinition<TTarget, TSource> AddOnKey<TKey>(Expression<Func<TTarget, TKey>> targetKey, Expression<Func<TSource, TKey>> sourceKey)
   
  Parameters
  
    - targetKeyExpression<Func<TTarget, TKey>>
- sourceKeyExpression<Func<TSource, TKey>>
Returns
  
    - MergeDefinition<TTarget, TSource>
Type Parameters
  
    - TKey
  AddOnPredicate(Expression<Func<TTarget, TSource, bool>>)
  
  
  
  
  
    public MergeDefinition<TTarget, TSource> AddOnPredicate(Expression<Func<TTarget, TSource, bool>> matchPredicate)
   
  Parameters
  
    - matchPredicateExpression<Func<TTarget, TSource, bool>>
Returns
  
    - MergeDefinition<TTarget, TSource>
  AddOperation(Operation)
  
  
  
  
  
    public MergeDefinition<TTarget, TSource> AddOperation(MergeDefinition<TTarget, TSource>.Operation operation)
   
  Parameters
  
    - operationMergeDefinition<TTarget, TSource>.Operation
Returns
  
    - MergeDefinition<TTarget, TSource>
  AddSource<TNewSource>(IEnumerable<TNewSource>)
  
  
  
  
  
    public MergeDefinition<TTarget, TNewSource> AddSource<TNewSource>(IEnumerable<TNewSource> source) where TNewSource : class
   
  Parameters
  
    - sourceIEnumerable<TNewSource>
Returns
  
    - MergeDefinition<TTarget, TNewSource>
Type Parameters
  
    - TNewSource
  AddSource<TNewSource>(IQueryable<TNewSource>)
  
  
  
  
  
    public MergeDefinition<TTarget, TNewSource> AddSource<TNewSource>(IQueryable<TNewSource> source) where TNewSource : class
   
  Parameters
  
    - sourceIQueryable<TNewSource>
Returns
  
    - MergeDefinition<TTarget, TNewSource>
Type Parameters
  
    - TNewSource