FirebirdCommandBatcherMapItem
This class extends BulkInsertMapItem with an optional, explicit FbDbType to bind with for the mapped column. When not provided, the bind parameter’s wire format is determined by Firebird’s DSQL layer from the destination column’s own server-side type, not the client-declared type — so this is only an escape hatch for genuinely ambiguous cases (e.g. forcing a specific BLOB sub-type).
Used by the Firebird BulkInsert, BulkMerge and BulkUpdate operations.
Create a new Instance
var mapItem = new FirebirdCommandBatcherMapItem("SourceId", "DestinationId");
Or with an explicit FbDbType:
var mapItem = new FirebirdCommandBatcherMapItem("SourceBlob", "DestinationBlob", FbDbType.Binary);
Usage for BulkOperations
var mappings = new []
{
new FirebirdCommandBatcherMapItem("FirstName", "FName"),
new FirebirdCommandBatcherMapItem("LastName", "LName"),
new FirebirdCommandBatcherMapItem("Photo", "Photo", FbDbType.Binary)
};
using (var connection = new FbConnection(connectionString))
{
var people = GetPeople(100000);
connection.BulkInsert(people, mappings: mappings);
}
The same approach applies to BulkMerge and BulkUpdate. The
mappingsargument is optional — omitting it causes the library to auto-map columns by name (case-insensitive).