Class DataFlowBatchDestination<TInput>

Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: ETLBox.DataFlow
Assembly: ETLBox.dll
Syntax
    public abstract class DataFlowBatchDestination<TInput> : DataFlowComponent, ILoggableTask, IDataFlowLogging, IDataFlowBatchDestination<TInput>, IDataFlowBatchDestination, IDataFlowDestination<TInput>, IDataFlowDestination, IDataFlowComponent
Type Parameters
NameDescription
TInput

Fields

DEFAULT_BATCH_SIZE

Declaration
    public const int DEFAULT_BATCH_SIZE = 1000
Field Value
TypeDescription
System.Int32

Properties

AfterBatchWrite

This action is called after a batch was successfully inserted into the destination. You will get a copy of the data that was used for the insertion.

Declaration
    public Action<TInput[]> AfterBatchWrite { get; set; }
Property Value
TypeDescription
System.Action<TInput[]>

BatchSize

The batch size defines how many records needs to be in the Input buffer before data is written into the destination. The default batch size is 1000.

Declaration
    public int BatchSize { get; set; }
Property Value
TypeDescription
System.Int32

BeforeBatchWrite

This function is called every time before a batch is inserted into the destination. It receives an array that represents the batch - you can modify the data itself if needed.

Declaration
    public Func<TInput[], TInput[]> BeforeBatchWrite { get; set; }
Property Value
TypeDescription
System.Func<TInput[], TInput[]>

TargetAction

Declaration
    protected ActionBlock<TInput[]> TargetAction { get; set; }
Property Value
TypeDescription
System.Threading.Tasks.Dataflow.ActionBlock<TInput[]>

TargetBlock

The buffer component used as target for linking.

Declaration
    public ITargetBlock<TInput> TargetBlock { get; }
Property Value
TypeDescription
System.Threading.Tasks.Dataflow.ITargetBlock<TInput>

Methods

BulkInsertData(TInput[])

Declaration
    protected abstract void BulkInsertData(TInput[] data)
Parameters
TypeNameDescription
TInput[]data

CleanUpOnFaulted(Exception)

Declaration
    protected override void CleanUpOnFaulted(Exception e)
Parameters
TypeNameDescription
System.Exceptione
Overrides

CleanUpOnSuccess()

Declaration
    protected override void CleanUpOnSuccess()
Overrides

FinishWrite()

Declaration
    protected abstract void FinishWrite()

InitComponent()

Declaration
    protected override void InitComponent()
Overrides

LinkErrorTo(IDataFlowDestination<ETLBoxError>)

Declaration
    public IDataFlowSource<ETLBoxError> LinkErrorTo(IDataFlowDestination<ETLBoxError> target)
Parameters
TypeNameDescription
IDataFlowDestination<ETLBoxError>target
Returns
TypeDescription
IDataFlowSource<ETLBoxError>

PrepareWrite()

Declaration
    protected abstract void PrepareWrite()

Wait()

Declaration
    public void Wait()

Implements