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
 
    - 
      
      
      
      
    
 
  
  
    - Inherited Members
 
    - 
    
    
    
    
    
    
    
  
 
  
    - Extension Methods
 
    - 
  
  
  
  
  
  
  
  
  
  
      LinqExtensions.MergeWithOutputIntoAsync<TTarget, TSource, TOutput>(IMergeable<TTarget, TSource>, ITable<TOutput>, Expression<Func<string, TTarget, TTarget, TSource, TOutput>>, CancellationToken)
   
  
  
  
  
  
  
  
  
  
  
  
      LinqExtensions.UpdateWhenMatchedAndThenDelete<TTarget, TSource>(IMergeableSource<TTarget, TSource>, Expression<Func<TTarget, TSource, bool>>, Expression<Func<TTarget, TSource, TTarget>>, Expression<Func<TTarget, TSource, bool>>)
   
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
   
  Constructors
  
  
  MergeDefinition(ITable<TTarget>)
  
  
  
  
  
    public MergeDefinition(ITable<TTarget> target)
   
  Parameters
  
    target ITable<TTarget> 
    
  
  
  
  MergeDefinition(ITable<TTarget>, IQueryable<TSource>)
  
  
  
  
  
    public MergeDefinition(ITable<TTarget> target, IQueryable<TSource> source)
   
  Parameters
  
    target ITable<TTarget> 
    
    source IQueryable<TSource> 
    
  
  
  
  MergeDefinition(ITable<TTarget>, IQueryable<TSource>, string)
  
  
  
  
  
    public MergeDefinition(ITable<TTarget> target, IQueryable<TSource> source, string hint)
   
  Parameters
  
    target ITable<TTarget> 
    
    source IQueryable<TSource> 
    
    hint string 
    
  
  
  
  MergeDefinition(ITable<TTarget>, string)
  
  
  
  
  
    public MergeDefinition(ITable<TTarget> target, string hint)
   
  Parameters
  
    target ITable<TTarget> 
    
    hint string 
    
  
  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
  
    targetKey Expression<Func<TTarget, TKey>> 
    
    sourceKey Expression<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
  
    matchPredicate Expression<Func<TTarget, TSource, bool>> 
    
  
  Returns
  
    - MergeDefinition<TTarget, TSource>
 
    
  
  
  
  AddOperation(Operation)
  
  
  
  
  
    public MergeDefinition<TTarget, TSource> AddOperation(MergeDefinition<TTarget, TSource>.Operation operation)
   
  Parameters
  
    operation MergeDefinition<TTarget, TSource>.Operation 
    
  
  Returns
  
    - MergeDefinition<TTarget, TSource>
 
    
  
  
  
  AddSource<TNewSource>(IEnumerable<TNewSource>)
  
  
  
  
  
    public MergeDefinition<TTarget, TNewSource> AddSource<TNewSource>(IEnumerable<TNewSource> source) where TNewSource : class
   
  Parameters
  
    source IEnumerable<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
  
    source IQueryable<TNewSource> 
    
  
  Returns
  
    - MergeDefinition<TTarget, TNewSource>
 
    
  
  Type Parameters
  
    TNewSource