Class DataFlowBatchDestination<TInput>
Inheritance
System.Object
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
Name | Description |
---|---|
TInput |
Fields
DEFAULT_BATCH_SIZE
Declaration
public const int DEFAULT_BATCH_SIZE = 1000
Field Value
Type | Description |
---|---|
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
Type | Description |
---|---|
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
Type | Description |
---|---|
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
Type | Description |
---|---|
System.Func<TInput[], TInput[]> |
TargetAction
Declaration
protected ActionBlock<TInput[]> TargetAction { get; set; }
Property Value
Type | Description |
---|---|
System.Threading.Tasks.Dataflow.ActionBlock<TInput[]> |
TargetBlock
The buffer component used as target for linking.
Declaration
public ITargetBlock<TInput> TargetBlock { get; }
Property Value
Type | Description |
---|---|
System.Threading.Tasks.Dataflow.ITargetBlock<TInput> |
Methods
BulkInsertData(TInput[])
Declaration
protected abstract void BulkInsertData(TInput[] data)
Parameters
Type | Name | Description |
---|---|---|
TInput[] | data |
CleanUpOnFaulted(Exception)
Declaration
protected override void CleanUpOnFaulted(Exception e)
Parameters
Type | Name | Description |
---|---|---|
System.Exception | e |
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
Type | Name | Description |
---|---|---|
IDataFlowDestination<ETLBoxError> | target |
Returns
Type | Description |
---|---|
IDataFlowSource<ETLBoxError> |
PrepareWrite()
Declaration
protected abstract void PrepareWrite()
Wait()
Declaration
public void Wait()