Table of Contents

Class SqlServerBulkCopy

Namespace
LinqToDB.Internal.DataProvider.SqlServer
Assembly
linq2db.dll
public class SqlServerBulkCopy : BasicBulkCopy
Inheritance
SqlServerBulkCopy
Inherited Members
Extension Methods

Constructors

SqlServerBulkCopy(SqlServerDataProvider)

public SqlServerBulkCopy(SqlServerDataProvider provider)

Parameters

provider SqlServerDataProvider

Properties

MaxParameters

protected override int MaxParameters { get; }

Property Value

int

Remarks

Settings based on https://www.jooq.org/doc/3.12/manual/sql-building/dsl-context/custom-settings/settings-inline-threshold/ We subtract 1 since SQL Server ADO Provider uses one parameter for command.

MaxSqlLength

protected override int MaxSqlLength { get; }

Property Value

int

Remarks

Based on https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server?redirectedfrom=MSDN&view=sql-server-ver15 Default Max is actually (4096*65536) = 256MIB, but we keep a lower number here to avoid the cost of huge statements.

Methods

MultipleRowsCopyAsync<T>(ITable<T>, DataOptions, IAsyncEnumerable<T>, CancellationToken)

protected override Task<BulkCopyRowsCopied> MultipleRowsCopyAsync<T>(ITable<T> table, DataOptions options, IAsyncEnumerable<T> source, CancellationToken cancellationToken) where T : notnull

Parameters

table ITable<T>
options DataOptions
source IAsyncEnumerable<T>
cancellationToken CancellationToken

Returns

Task<BulkCopyRowsCopied>

Type Parameters

T

MultipleRowsCopyAsync<T>(ITable<T>, DataOptions, IEnumerable<T>, CancellationToken)

protected override Task<BulkCopyRowsCopied> MultipleRowsCopyAsync<T>(ITable<T> table, DataOptions options, IEnumerable<T> source, CancellationToken cancellationToken) where T : notnull

Parameters

table ITable<T>
options DataOptions
source IEnumerable<T>
cancellationToken CancellationToken

Returns

Task<BulkCopyRowsCopied>

Type Parameters

T

MultipleRowsCopy<T>(ITable<T>, DataOptions, IEnumerable<T>)

protected override BulkCopyRowsCopied MultipleRowsCopy<T>(ITable<T> table, DataOptions options, IEnumerable<T> source) where T : notnull

Parameters

table ITable<T>
options DataOptions
source IEnumerable<T>

Returns

BulkCopyRowsCopied

Type Parameters

T

ProviderSpecificCopyAsync<T>(ITable<T>, DataOptions, IAsyncEnumerable<T>, CancellationToken)

protected override Task<BulkCopyRowsCopied> ProviderSpecificCopyAsync<T>(ITable<T> table, DataOptions options, IAsyncEnumerable<T> source, CancellationToken cancellationToken) where T : notnull

Parameters

table ITable<T>
options DataOptions
source IAsyncEnumerable<T>
cancellationToken CancellationToken

Returns

Task<BulkCopyRowsCopied>

Type Parameters

T

ProviderSpecificCopyAsync<T>(ITable<T>, DataOptions, IEnumerable<T>, CancellationToken)

protected override Task<BulkCopyRowsCopied> ProviderSpecificCopyAsync<T>(ITable<T> table, DataOptions options, IEnumerable<T> source, CancellationToken cancellationToken) where T : notnull

Parameters

table ITable<T>
options DataOptions
source IEnumerable<T>
cancellationToken CancellationToken

Returns

Task<BulkCopyRowsCopied>

Type Parameters

T

ProviderSpecificCopy<T>(ITable<T>, DataOptions, IEnumerable<T>)

protected override BulkCopyRowsCopied ProviderSpecificCopy<T>(ITable<T> table, DataOptions options, IEnumerable<T> source) where T : notnull

Parameters

table ITable<T>
options DataOptions
source IEnumerable<T>

Returns

BulkCopyRowsCopied

Type Parameters

T