Search Results for

    Show / Hide Table of Contents

    Class DataOptionsExtensions

    Set of extensions for DataOptions.

    Inheritance
    object
    DataOptionsExtensions
    Namespace: LinqToDB
    Assembly: linq2db.dll
    Syntax
    public static class DataOptionsExtensions

    Methods

    | Improve this Doc View Source

    RemoveInterceptor(DataOptions, IInterceptor)

    Removes IInterceptor instance from the context.

    Declaration
    public static DataOptions RemoveInterceptor(this DataOptions options, IInterceptor interceptor)
    Parameters
    Type Name Description
    DataOptions options
    IInterceptor interceptor
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseAccess(DataOptions, string, Func<AccessOptions, AccessOptions>?)

    Configure connection to use Access default provider and connection string.

    Declaration
    public static DataOptions UseAccess(this DataOptions options, string connectionString, Func<AccessOptions, AccessOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    Access connection string.

    Func<AccessOptions, AccessOptions> optionSetter

    Optional AccessOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Default provider determined by inspecting connection string for OleDb or ODBC-specific markers and otherwise defaults to OleDb provider.

    For more fine-grained configuration see UseAccessOleDb(DataOptions, string, Func<AccessOptions, AccessOptions>?) and UseAccessOdbc(DataOptions, Func<AccessOptions, AccessOptions>?) methods.
    | Improve this Doc View Source

    UseAccessOdbc(DataOptions, Func<AccessOptions, AccessOptions>?)

    Configure connection to use Access ODBC provider.

    Declaration
    public static DataOptions UseAccessOdbc(this DataOptions options, Func<AccessOptions, AccessOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<AccessOptions, AccessOptions> optionSetter

    Optional AccessOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseAccessOdbc(DataOptions, string, Func<AccessOptions, AccessOptions>?)

    Configure connection to use Access ODBC provider and connection string.

    Declaration
    public static DataOptions UseAccessOdbc(this DataOptions options, string connectionString, Func<AccessOptions, AccessOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    Access connection string.

    Func<AccessOptions, AccessOptions> optionSetter

    Optional AccessOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseAccessOleDb(DataOptions, Func<AccessOptions, AccessOptions>?)

    Configure connection to use Access OleDb provider.

    Declaration
    public static DataOptions UseAccessOleDb(this DataOptions options, Func<AccessOptions, AccessOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<AccessOptions, AccessOptions> optionSetter

    Optional AccessOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseAccessOleDb(DataOptions, string, Func<AccessOptions, AccessOptions>?)

    Configure connection to use Access OleDb provider and connection string.

    Declaration
    public static DataOptions UseAccessOleDb(this DataOptions options, string connectionString, Func<AccessOptions, AccessOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    Access connection string.

    Func<AccessOptions, AccessOptions> optionSetter

    Optional AccessOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseAfterConnectionOpened(DataOptions, Action<DbConnection>, Func<DbConnection, CancellationToken, Task>?)

    Sets custom actions, executed after connection opened.

    Declaration
    public static DataOptions UseAfterConnectionOpened(this DataOptions options, Action<DbConnection> afterConnectionOpened, Func<DbConnection, CancellationToken, Task>? afterConnectionOpenedAsync = null)
    Parameters
    Type Name Description
    DataOptions options
    Action<DbConnection> afterConnectionOpened

    Action, executed for connection instance after Open() call. Also called after OpenAsync(CancellationToken) call if afterConnectionOpenedAsync action is not provided. Accepts connection instance as parameter.

    Func<DbConnection, CancellationToken, Task> afterConnectionOpenedAsync

    Action, executed for connection instance from async execution path after OpenAsync(CancellationToken) call. Accepts connection instance as parameter. If this option is not set, afterConnectionOpened synchronous action called. Use this option only if you need to perform async work from action, otherwise afterConnectionOpened is sufficient.

    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseAse(DataOptions, Func<SybaseOptions, SybaseOptions>?)

    Configure connection to use SAP/Sybase ASE default provider.

    Declaration
    public static DataOptions UseAse(this DataOptions options, Func<SybaseOptions, SybaseOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<SybaseOptions, SybaseOptions> optionSetter

    Optional SybaseOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Provider selection available only for .NET Framework applications.

    Default provider will be choosen by probing current folder for provider assembly and if it is not found, default to official Sybase.AdoNet45.AseClient provider.

    | Improve this Doc View Source

    UseAse(DataOptions, string, bool, Func<SybaseOptions, SybaseOptions>?)

    Configure connection to use specific SAP/Sybase ASE provider and connection string.

    Declaration
    public static DataOptions UseAse(this DataOptions options, string connectionString, bool useNativeProvider, Func<SybaseOptions, SybaseOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SAP/Sybase ASE connection string.

    bool useNativeProvider

    if true, Sybase.AdoNet45.AseClient provider will be used; otherwise managed AdoNetCore.AseClient.

    Func<SybaseOptions, SybaseOptions> optionSetter

    Optional SybaseOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseAse(DataOptions, string, Func<SybaseOptions, SybaseOptions>?)

    Configure connection to use SAP/Sybase ASE default provider and connection string.

    Declaration
    public static DataOptions UseAse(this DataOptions options, string connectionString, Func<SybaseOptions, SybaseOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SAP/Sybase ASE connection string.

    Func<SybaseOptions, SybaseOptions> optionSetter

    Optional SybaseOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Provider selection available only for .NET Framework applications.

    Default provider will be choosen by probing current folder for provider assembly and if it is not found, default to official Sybase.AdoNet45.AseClient provider.

    | Improve this Doc View Source

    UseBeforeConnectionOpened(DataOptions, Action<DbConnection>, Func<DbConnection, CancellationToken, Task>?)

    Sets custom actions, executed before connection opened.

    Declaration
    public static DataOptions UseBeforeConnectionOpened(this DataOptions options, Action<DbConnection> afterConnectionOpening, Func<DbConnection, CancellationToken, Task>? afterConnectionOpeningAsync = null)
    Parameters
    Type Name Description
    DataOptions options
    Action<DbConnection> afterConnectionOpening

    Action, executed before database connection opened. Accepts connection instance as parameter.

    Func<DbConnection, CancellationToken, Task> afterConnectionOpeningAsync

    Action, executed after database connection opened from async execution path. Accepts connection instance as parameter. If this option is not set, afterConnectionOpening synchronous action called. Use this option only if you need to perform async work from action, otherwise afterConnectionOpening is sufficient.

    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyCheckConstraints(DataOptions, bool?)

    Enables database constrains enforcement during bulk copy operation. Supported with ProviderSpecific bulk copy mode for following databases:

    • Oracle
    • SQL Server
    • SAP/Sybase ASE
    Declaration
    public static DataOptions UseBulkCopyCheckConstraints(this DataOptions options, bool? checkConstraints)
    Parameters
    Type Name Description
    DataOptions options
    bool? checkConstraints
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyDatabaseName(DataOptions, string?)

    Gets or sets explicit name of target database instead of one, configured for copied entity in mapping schema. See DatabaseName<T>(ITable<T>, string?) method for support information per provider.

    Declaration
    public static DataOptions UseBulkCopyDatabaseName(this DataOptions options, string? databaseName)
    Parameters
    Type Name Description
    DataOptions options
    string databaseName
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyFireTriggers(DataOptions, bool?)

    Enables insert triggers during bulk copy operation. Supported with ProviderSpecific bulk copy mode for following databases:

    • Oracle
    • SQL Server
    • SAP/Sybase ASE
    Declaration
    public static DataOptions UseBulkCopyFireTriggers(this DataOptions options, bool? fireTriggers)
    Parameters
    Type Name Description
    DataOptions options
    bool? fireTriggers
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyKeepIdentity(DataOptions, bool?)

    If this option set to true, bulk copy will use values of columns, marked with IsIdentity flag. SkipOnInsert flag in this case will be ignored. Otherwise those columns will be skipped and values will be generated by server. Not compatible with RowByRow mode.

    Declaration
    public static DataOptions UseBulkCopyKeepIdentity(this DataOptions options, bool? keepIdentity)
    Parameters
    Type Name Description
    DataOptions options
    bool? keepIdentity
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyKeepNulls(DataOptions, bool?)

    Enables instert of NULL values instead of values from colum default constraint during bulk copy operation. Supported with ProviderSpecific bulk copy mode for following databases:

    • SQL Server
    • SAP/Sybase ASE
    Declaration
    public static DataOptions UseBulkCopyKeepNulls(this DataOptions options, bool? keepNulls)
    Parameters
    Type Name Description
    DataOptions options
    bool? keepNulls
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyMaxBatchSize(DataOptions, int?)

    Number of rows in each batch. At the end of each batch, the rows in the batch are sent to the server. Returns an integer value or zero if no value has been set.

    Declaration
    public static DataOptions UseBulkCopyMaxBatchSize(this DataOptions options, int? maxBatchSize)
    Parameters
    Type Name Description
    DataOptions options
    int? maxBatchSize
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyMaxDegreeOfParallelism(DataOptions, int?)

    Implemented only by ClickHouse.Client provider. Defines number of connections, used for parallel insert in ProviderSpecific mode.

    Declaration
    public static DataOptions UseBulkCopyMaxDegreeOfParallelism(this DataOptions options, int? maxDegreeOfParallelism)
    Parameters
    Type Name Description
    DataOptions options
    int? maxDegreeOfParallelism
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyMaxParametersForBatch(DataOptions, int?)

    If set, will override the Maximum parameters per batch statement from MaxParameters.

    Declaration
    public static DataOptions UseBulkCopyMaxParametersForBatch(this DataOptions options, int? maxParametersForBatch)
    Parameters
    Type Name Description
    DataOptions options
    int? maxParametersForBatch
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyNotifyAfter(DataOptions, int)

    Gets or sets counter after how many copied records RowsCopiedCallback should be called. E.g. if you set it to 10, callback will be called after each 10 copied records. To disable callback, set this option to 0 (default value).

    Declaration
    public static DataOptions UseBulkCopyNotifyAfter(this DataOptions options, int notifyAfter)
    Parameters
    Type Name Description
    DataOptions options
    int notifyAfter
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyRowsCopiedCallback(DataOptions, Action<BulkCopyRowsCopied>?)

    Gets or sets callback method that will be called by BulkCopy operation after each NotifyAfter rows copied. This callback will not be used if NotifyAfter set to 0.

    Declaration
    public static DataOptions UseBulkCopyRowsCopiedCallback(this DataOptions options, Action<BulkCopyRowsCopied>? rowsCopiedCallback)
    Parameters
    Type Name Description
    DataOptions options
    Action<BulkCopyRowsCopied> rowsCopiedCallback
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopySchemaName(DataOptions, string?)

    Gets or sets explicit name of target schema/owner instead of one, configured for copied entity in mapping schema. See SchemaName<T>(ITable<T>, string?) method for support information per provider.

    Declaration
    public static DataOptions UseBulkCopySchemaName(this DataOptions options, string? schemaName)
    Parameters
    Type Name Description
    DataOptions options
    string schemaName
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyServerName(DataOptions, string?)

    Gets or sets explicit name of target server instead of one, configured for copied entity in mapping schema. See ServerName<T>(ITable<T>, string?) method for support information per provider. Also note that it is not supported by provider-specific insert method.

    Declaration
    public static DataOptions UseBulkCopyServerName(this DataOptions options, string? serverName)
    Parameters
    Type Name Description
    DataOptions options
    string serverName
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyTableLock(DataOptions, bool?)

    Applies table lock during bulk copy operation. Supported with ProviderSpecific bulk copy mode for following databases:

    • DB2
    • Informix (using DB2 provider)
    • SQL Server
    • SAP/Sybase ASE
    Declaration
    public static DataOptions UseBulkCopyTableLock(this DataOptions options, bool? tableLock)
    Parameters
    Type Name Description
    DataOptions options
    bool? tableLock
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyTableName(DataOptions, string?)

    Gets or sets explicit name of target table instead of one, configured for copied entity in mapping schema.

    Declaration
    public static DataOptions UseBulkCopyTableName(this DataOptions options, string? tableName)
    Parameters
    Type Name Description
    DataOptions options
    string tableName
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyTableOptions(DataOptions, TableOptions)

    Gets or sets TableOptions flags overrides instead of configured for copied entity in mapping schema. See IsTemporary<T>(ITable<T>, bool) method for support information per provider.

    Declaration
    public static DataOptions UseBulkCopyTableOptions(this DataOptions options, TableOptions tableOptions)
    Parameters
    Type Name Description
    DataOptions options
    TableOptions tableOptions
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyTimeout(DataOptions, int?)

    Number of seconds for the operation to complete before it times out.

    Declaration
    public static DataOptions UseBulkCopyTimeout(this DataOptions options, int? bulkCopyTimeout)
    Parameters
    Type Name Description
    DataOptions options
    int? bulkCopyTimeout
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyType(DataOptions, BulkCopyType)

    Specify bulk copy implementation type.

    Declaration
    public static DataOptions UseBulkCopyType(this DataOptions options, BulkCopyType bulkCopyType)
    Parameters
    Type Name Description
    DataOptions options
    BulkCopyType bulkCopyType
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyUseInternalTransaction(DataOptions, bool?)

    Enables automatic transaction creation during bulk copy operation. Supported with ProviderSpecific bulk copy mode for following databases:

    • Oracle
    • SQL Server
    • SAP/Sybase ASE
    Declaration
    public static DataOptions UseBulkCopyUseInternalTransaction(this DataOptions options, bool? useInternalTransaction)
    Parameters
    Type Name Description
    DataOptions options
    bool? useInternalTransaction
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyUseParameters(DataOptions, bool)

    Gets or sets whether to Always use Parameters for MultipleRowsCopy. Default is false. If True, provider's override for MaxParameters will be used to determine the maximum number of rows per insert, Unless overridden by MaxParametersForBatch.

    Declaration
    public static DataOptions UseBulkCopyUseParameters(this DataOptions options, bool useParameters)
    Parameters
    Type Name Description
    DataOptions options
    bool useParameters
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseBulkCopyWithoutSession(DataOptions, bool)

    Implemented only by ClickHouse.Client provider. When set, provider-specific bulk copy will use session-less connection even if called over connection with session. Note that session-less connections cannot be used with session-bound functionality like temporary tables.

    Declaration
    public static DataOptions UseBulkCopyWithoutSession(this DataOptions options, bool withoutSession)
    Parameters
    Type Name Description
    DataOptions options
    bool withoutSession
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseCacheSlidingExpiration(DataOptions, TimeSpan?)

    Specifies timeout when query will be evicted from cache since last execution of query. Default value is 1 hour.

    Declaration
    public static DataOptions UseCacheSlidingExpiration(this DataOptions options, TimeSpan? cacheSlidingExpiration)
    Parameters
    Type Name Description
    DataOptions options
    TimeSpan? cacheSlidingExpiration
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseClickHouse(DataOptions, ClickHouseProvider, Func<ClickHouseOptions, ClickHouseOptions>?)

    Configure connection to use UseClickHouse provider.

    Declaration
    public static DataOptions UseClickHouse(this DataOptions options, ClickHouseProvider provider, Func<ClickHouseOptions, ClickHouseOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    ClickHouseProvider provider

    ClickHouse provider.

    Func<ClickHouseOptions, ClickHouseOptions> optionSetter

    Optional ClickHouseOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseClickHouse(DataOptions, ClickHouseProvider, string, Func<ClickHouseOptions, ClickHouseOptions>?)

    Configure connection to use UseClickHouse provider and connection string.

    Declaration
    public static DataOptions UseClickHouse(this DataOptions options, ClickHouseProvider provider, string connectionString, Func<ClickHouseOptions, ClickHouseOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    ClickHouseProvider provider

    ClickHouse provider.

    string connectionString

    ClickHouse connection string.

    Func<ClickHouseOptions, ClickHouseOptions> optionSetter

    Optional ClickHouseOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseCoefficient(DataOptions, TimeSpan)

    The coefficient for the exponential function used to compute the delay between retries, must be nonnegative. Default value: 1 second.

    Declaration
    public static DataOptions UseCoefficient(this DataOptions options, TimeSpan coefficient)
    Parameters
    Type Name Description
    DataOptions options
    TimeSpan coefficient
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseCompareNullsAsValues(DataOptions, bool)

    If set to true nullable fields would be checked for IS NULL in Equal/NotEqual comparisons. This affects: Equal, NotEqual, Not Contains Default value: true.

    Declaration
    public static DataOptions UseCompareNullsAsValues(this DataOptions options, bool compareNullsAsValues)
    Parameters
    Type Name Description
    DataOptions options
    bool compareNullsAsValues
    Returns
    Type Description
    DataOptions
    Examples
    public class MyEntity
    {
        public int? Value;
    }
    
    db.MyEntity.Where(e => e.Value != 10)
    
    from e1 in db.MyEntity
    join e2 in db.MyEntity on e1.Value equals e2.Value
    select e1
    
    var filter = new [] {1, 2, 3};
    db.MyEntity.Where(e => ! filter.Contains(e.Value))

    Would be converted to next queries:

    SELECT Value FROM MyEntity WHERE Value IS NULL OR Value != 10
    
    SELECT e1.Value
    FROM MyEntity e1
    INNER JOIN MyEntity e2 ON e1.Value = e2.Value OR (e1.Value IS NULL AND e2.Value IS NULL)
    
    SELECT Value FROM MyEntity WHERE Value IS NULL OR NOT Value IN (1, 2, 3)
    | Improve this Doc View Source

    UseConfiguration(DataOptions, string, MappingSchema)

    Defines configuration sting and MappingSchema to use with DataOptions.

    Declaration
    public static DataOptions UseConfiguration(this DataOptions options, string configurationString, MappingSchema mappingSchema)
    Parameters
    Type Name Description
    DataOptions options
    string configurationString
    MappingSchema mappingSchema
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConfiguration(DataOptions, string?)

    Defines configuration sting to use with DataOptions.

    Declaration
    public static DataOptions UseConfiguration(this DataOptions options, string? configurationString)
    Parameters
    Type Name Description
    DataOptions options
    string configurationString
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConfigurationString(DataOptions, string, MappingSchema)

    Defines configuration sting and MappingSchema to use with DataOptions.

    Declaration
    public static DataOptions UseConfigurationString(this DataOptions options, string configurationString, MappingSchema mappingSchema)
    Parameters
    Type Name Description
    DataOptions options
    string configurationString
    MappingSchema mappingSchema
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConfigurationString(DataOptions, string?)

    Defines configuration sting to use with DataOptions.

    Declaration
    public static DataOptions UseConfigurationString(this DataOptions options, string? configurationString)
    Parameters
    Type Name Description
    DataOptions options
    string configurationString
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConnection(DataOptions, IDataProvider, DbConnection, bool)

    Defines data provider and DbConnection to use with DataOptions.

    Declaration
    public static DataOptions UseConnection(this DataOptions options, IDataProvider dataProvider, DbConnection connection, bool disposeConnection)
    Parameters
    Type Name Description
    DataOptions options
    IDataProvider dataProvider
    DbConnection connection
    bool disposeConnection
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConnection(DataOptions, IDataProvider, DbConnection)

    Defines data provider and DbConnection to use with DataOptions.

    Declaration
    public static DataOptions UseConnection(this DataOptions options, IDataProvider dataProvider, DbConnection connection)
    Parameters
    Type Name Description
    DataOptions options
    IDataProvider dataProvider
    DbConnection connection
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConnection(DataOptions, DbConnection)

    Defines DbConnection to use with DataOptions.

    Declaration
    public static DataOptions UseConnection(this DataOptions options, DbConnection connection)
    Parameters
    Type Name Description
    DataOptions options
    DbConnection connection
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConnectionFactory(DataOptions, IDataProvider, Func<DataOptions, DbConnection>)

    Defines data provider and connection factory to use with DataOptions.

    Declaration
    public static DataOptions UseConnectionFactory(this DataOptions options, IDataProvider dataProvider, Func<DataOptions, DbConnection> connectionFactory)
    Parameters
    Type Name Description
    DataOptions options
    IDataProvider dataProvider
    Func<DataOptions, DbConnection> connectionFactory
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConnectionFactory(DataOptions, Func<DataOptions, DbConnection>)

    Defines connection factory to use with DataOptions.

    Declaration
    public static DataOptions UseConnectionFactory(this DataOptions options, Func<DataOptions, DbConnection> connectionFactory)
    Parameters
    Type Name Description
    DataOptions options
    Func<DataOptions, DbConnection> connectionFactory
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConnectionString(DataOptions, IDataProvider, string)

    Defines data provider and connection sting to use with DataOptions.

    Declaration
    public static DataOptions UseConnectionString(this DataOptions options, IDataProvider dataProvider, string connectionString)
    Parameters
    Type Name Description
    DataOptions options
    IDataProvider dataProvider
    string connectionString
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConnectionString(DataOptions, string, string)

    Defines provider name and connection sting to use with DataOptions.

    Declaration
    public static DataOptions UseConnectionString(this DataOptions options, string providerName, string connectionString)
    Parameters
    Type Name Description
    DataOptions options
    string providerName
    string connectionString
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseConnectionString(DataOptions, string)

    Defines connection sting to use with DataOptions.

    Declaration
    public static DataOptions UseConnectionString(this DataOptions options, string connectionString)
    Parameters
    Type Name Description
    DataOptions options
    string connectionString
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseDataProvider(DataOptions, IDataProvider)

    Defines data provider to use with DataOptions.

    Declaration
    public static DataOptions UseDataProvider(this DataOptions options, IDataProvider dataProvider)
    Parameters
    Type Name Description
    DataOptions options
    IDataProvider dataProvider
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseDataProviderFactory(DataOptions, Func<ConnectionOptions, IDataProvider>)

    Sets DataProviderFactory option.

    Declaration
    public static DataOptions UseDataProviderFactory(this DataOptions options, Func<ConnectionOptions, IDataProvider> dataProviderFactory)
    Parameters
    Type Name Description
    DataOptions options
    Func<ConnectionOptions, IDataProvider> dataProviderFactory
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseDB2(DataOptions, DB2Version, Func<DB2Options, DB2Options>?)

    Configure connection to use specific DB2 provider.

    Declaration
    public static DataOptions UseDB2(this DataOptions options, DB2Version version, Func<DB2Options, DB2Options>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    DB2Version version

    DB2 server version.

    Func<DB2Options, DB2Options> optionSetter

    Optional DB2Options configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseDB2(DataOptions, string, DB2Version, Func<DB2Options, DB2Options>?)

    Configure connection to use specific DB2 provider and connection string.

    Declaration
    public static DataOptions UseDB2(this DataOptions options, string connectionString, DB2Version version, Func<DB2Options, DB2Options>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    DB2 connection string.

    DB2Version version

    DB2 server version.

    Func<DB2Options, DB2Options> optionSetter

    Optional DB2Options configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseDB2(DataOptions, string, Func<DB2Options, DB2Options>?)

    Configure connection to use DB2 default provider and connection string.

    Declaration
    public static DataOptions UseDB2(this DataOptions options, string connectionString, Func<DB2Options, DB2Options>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    DB2 connection string.

    Func<DB2Options, DB2Options> optionSetter

    Optional DB2Options configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    DB2 provider will be chosen automatically:

    • if AutoDetectProvider (default: true) enabled, LinqToDB will query server for version
    • otherwise DB2 LUW provider will be chosen.
    For more fine-grained configuration see UseDB2(DataOptions, string, DB2Version, Func<DB2Options, DB2Options>?) overload.
    | Improve this Doc View Source

    UseDefaultRetryPolicyFactory(DataOptions)

    Uses default retry policy factory.

    Declaration
    public static DataOptions UseDefaultRetryPolicyFactory(this DataOptions options)
    Parameters
    Type Name Description
    DataOptions options
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseDisableQueryCache(DataOptions, bool)

    Used to disable LINQ expressions caching for queries. This cache reduces time, required for query parsing but have several side-effects:

    - cached LINQ expressions could contain references to external objects as parameters, which could lead to memory leaks if those objects are not used anymore by other code

    - cache access synchronization could lead to bigger latencies than it saves.

    Default value: false.

    It is not recommended to enable this option as it could lead to severe slowdown. Better approach will be to call ClearCache() method to cleanup cache after queries, that produce severe memory leaks you need to fix.

    More details.
    Declaration
    public static DataOptions UseDisableQueryCache(this DataOptions options, bool disableQueryCache)
    Parameters
    Type Name Description
    DataOptions options
    bool disableQueryCache
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseDoNotClearOrderBys(DataOptions, bool)

    Controls behavior, when LINQ query chain contains multiple OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) or OrderByDescending<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) calls:

    • if true - non-first OrderBy* call will be treated as ThenBy* call;
    • if false - OrderBy* call will discard sort specifications, added by previous OrderBy* and ThenBy* calls. Default value: false.
    Declaration
    public static DataOptions UseDoNotClearOrderBys(this DataOptions options, bool doNotClearOrderBys)
    Parameters
    Type Name Description
    DataOptions options
    bool doNotClearOrderBys
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseEnableContextSchemaEdit(DataOptions, bool)

    If true, user could add new mappings to context mapping schems (MappingSchema). Otherwise LinqToDBException will be generated on locked mapping schema edit attempt. It is not recommended to enable this option as it has performance implications. Proper approach is to create single MappingSchema instance once, configure mappings for it and use this MappingSchema instance for all context instances.

    Declaration
    public static DataOptions UseEnableContextSchemaEdit(this DataOptions options, bool enableContextSchemaEdit)
    Parameters
    Type Name Description
    DataOptions options
    bool enableContextSchemaEdit
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseExponentialBase(DataOptions, double)

    The base for the exponential function used to compute the delay between retries, must be positive. Default value: 2.

    Declaration
    public static DataOptions UseExponentialBase(this DataOptions options, double exponentialBase)
    Parameters
    Type Name Description
    DataOptions options
    double exponentialBase
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseFactory(DataOptions, Func<DataConnection, IRetryPolicy?>?)

    Retry policy factory method, used to create retry policy for new DataConnection instance. If factory method is not set, retry policy is not used. Not set by default.

    Declaration
    public static DataOptions UseFactory(this DataOptions options, Func<DataConnection, IRetryPolicy?>? factory)
    Parameters
    Type Name Description
    DataOptions options
    Func<DataConnection, IRetryPolicy> factory
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseFirebird(DataOptions, Func<FirebirdOptions, FirebirdOptions>?)

    Configure connection to use Firebird provider.

    Declaration
    public static DataOptions UseFirebird(this DataOptions options, Func<FirebirdOptions, FirebirdOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<FirebirdOptions, FirebirdOptions> optionSetter

    Optional FirebirdOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseFirebird(DataOptions, string, Func<FirebirdOptions, FirebirdOptions>?)

    Configure connection to use Firebird provider and connection string.

    Declaration
    public static DataOptions UseFirebird(this DataOptions options, string connectionString, Func<FirebirdOptions, FirebirdOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    Firebird connection string.

    Func<FirebirdOptions, FirebirdOptions> optionSetter

    Optional FirebirdOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseGenerateExpressionTest(DataOptions, bool)

    Enables generation of test class for each LINQ query, executed while this option is enabled. This option could be useful for issue reporting, when you need to provide reproducible case. Test file will be placed to linq2db subfolder of temp folder and exact file path will be logged to data connection tracing infrastructure. See TraceSwitch for more details. Default value: false.

    Declaration
    public static DataOptions UseGenerateExpressionTest(this DataOptions options, bool generateExpressionTest)
    Parameters
    Type Name Description
    DataOptions options
    bool generateExpressionTest
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseGuardGrouping(DataOptions, bool)

    Controls behavior of LINQ query, which ends with GroupBy call.

    • if true - LinqToDBException will be thrown for such queries;
    • if false - behavior is controlled by UsePreloadGroups(DataOptions, bool) option. Default value: true.
    Declaration
    public static DataOptions UseGuardGrouping(this DataOptions options, bool guardGrouping)
    Parameters
    Type Name Description
    DataOptions options
    bool guardGrouping
    Returns
    Type Description
    DataOptions
    Remarks

    More details.

    | Improve this Doc View Source

    UseIgnoreEmptyUpdate(DataOptions, bool)

    Controls behavior of linq2db when there is no updateable fields in Update query:

    • if true - query not executed and Update operation returns 0 as number of affected records;
    • if false - LinqToDBException will be thrown. Default value: false.
    Declaration
    public static DataOptions UseIgnoreEmptyUpdate(DataOptions options, bool ignoreEmptyUpdate)
    Parameters
    Type Name Description
    DataOptions options
    bool ignoreEmptyUpdate
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseInformix(DataOptions, Func<InformixOptions, InformixOptions>?)

    Configure connection to use Informix default provider.

    Declaration
    public static DataOptions UseInformix(this DataOptions options, Func<InformixOptions, InformixOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<InformixOptions, InformixOptions> optionSetter

    Optional InformixOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Default provider will be chosen by probing current folder for provider assembly and if it is not found, default to IBM.Data.DB2 provider. This is not applicable to .NET Core applications as they always use IBM.Data.DB2 provider.

    | Improve this Doc View Source

    UseInformix(DataOptions, string, bool, Func<InformixOptions, InformixOptions>?)

    Configure connection to use specific Informix provider and connection string.

    Declaration
    public static DataOptions UseInformix(this DataOptions options, string connectionString, bool useDB2Provider, Func<InformixOptions, InformixOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    Informix connection string.

    bool useDB2Provider

    if true, IBM.Data.DB2 provider will be used; otherwise IBM.Data.Informix.

    Func<InformixOptions, InformixOptions> optionSetter

    Optional InformixOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseInformix(DataOptions, string, Func<InformixOptions, InformixOptions>?)

    Configure connection to use Informix default provider and connection string.

    Declaration
    public static DataOptions UseInformix(this DataOptions options, string connectionString, Func<InformixOptions, InformixOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    Informix connection string.

    Func<InformixOptions, InformixOptions> optionSetter

    Optional InformixOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Default provider will be chosen by probing current folder for provider assembly and if it is not found, default to IBM.Data.DB2 provider. This is not applicable to .NET Core applications as they always use IBM.Data.DB2 provider.

    | Improve this Doc View Source

    UseInterceptor(DataOptions, IInterceptor)

    Adds IInterceptor instance to those registered on the context.

    Interceptors can be used to view, change, or suppress operations taken by linq2db. See the specific implementations of IInterceptor for details. For example, 'ICommandInterceptor'.

    Extensions can also register multiple IInterceptors in the internal service provider. If both injected and application interceptors are found, then the injected interceptors are run in the order that they are resolved from the service provider, and then the application interceptors are run in the order that they were added to the context.

    Calling this method multiple times will result in all interceptors in every call being added to the context. Interceptors added in a previous call are not overridden by interceptors added in a later call.

    Declaration
    public static DataOptions UseInterceptor(this DataOptions options, IInterceptor interceptor)
    Parameters
    Type Name Description
    DataOptions options
    IInterceptor interceptor

    The interceptor to add.

    Returns
    Type Description
    DataOptions

    The same builder instance so that multiple calls can be chained.

    | Improve this Doc View Source

    UseInterceptors(DataOptions, params IInterceptor[])

    Adds IInterceptor instances to those registered on the context.

    Interceptors can be used to view, change, or suppress operations taken by linq2db. See the specific implementations of IInterceptor for details. For example, 'ICommandInterceptor'.

    Extensions can also register multiple IInterceptors in the internal service provider. If both injected and application interceptors are found, then the injected interceptors are run in the order that they are resolved from the service provider, and then the application interceptors are run in the order that they were added to the context.

    Calling this method multiple times will result in all interceptors in every call being added to the context. Interceptors added in a previous call are not overridden by interceptors added in a later call.

    Declaration
    public static DataOptions UseInterceptors(this DataOptions options, params IInterceptor[] interceptors)
    Parameters
    Type Name Description
    DataOptions options
    IInterceptor[] interceptors

    The interceptors to add.

    Returns
    Type Description
    DataOptions

    The same builder instance so that multiple calls can be chained.

    | Improve this Doc View Source

    UseInterceptors(DataOptions, IEnumerable<IInterceptor>)

    Adds IInterceptor instances to those registered on the context.

    Interceptors can be used to view, change, or suppress operations taken by linq2db. See the specific implementations of IInterceptor for details. For example, 'ICommandInterceptor'.

    A single interceptor instance can implement multiple different interceptor interfaces. I will be registered as an interceptor for all interfaces that it implements.

    Extensions can also register multiple IInterceptors in the internal service provider. If both injected and application interceptors are found, then the injected interceptors are run in the order that they are resolved from the service provider, and then the application interceptors are run in the order that they were added to the context.

    Calling this method multiple times will result in all interceptors in every call being added to the context. Interceptors added in a previous call are not overridden by interceptors added in a later call.

    Declaration
    public static DataOptions UseInterceptors(this DataOptions options, IEnumerable<IInterceptor> interceptors)
    Parameters
    Type Name Description
    DataOptions options
    IEnumerable<IInterceptor> interceptors

    The interceptors to add.

    Returns
    Type Description
    DataOptions

    The same builder instance so that multiple calls can be chained.

    | Improve this Doc View Source

    UseKeepDistinctOrdered(DataOptions, bool)

    Allows SQL generation to automatically transform

    SELECT DISTINCT value FROM Table ORDER BY date

    Into GROUP BY equivalent if syntax is not supported Default value: true.

    Declaration
    public static DataOptions UseKeepDistinctOrdered(this DataOptions options, bool keepDistinctOrdered)
    Parameters
    Type Name Description
    DataOptions options
    bool keepDistinctOrdered
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseMappingSchema(DataOptions, MappingSchema)

    Defines mapping schema to use with DataOptions.

    Declaration
    public static DataOptions UseMappingSchema(this DataOptions options, MappingSchema mappingSchema)
    Parameters
    Type Name Description
    DataOptions options
    MappingSchema mappingSchema
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseMaxDelay(DataOptions, TimeSpan)

    The maximum time delay between retries, must be nonnegative. Default value: 30 seconds.

    Declaration
    public static DataOptions UseMaxDelay(this DataOptions options, TimeSpan defaultMaxDelay)
    Parameters
    Type Name Description
    DataOptions options
    TimeSpan defaultMaxDelay
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseMaxRetryCount(DataOptions, int)

    The number of retry attempts. Default value: 5.

    Declaration
    public static DataOptions UseMaxRetryCount(this DataOptions options, int maxRetryCount)
    Parameters
    Type Name Description
    DataOptions options
    int maxRetryCount
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseMySql(DataOptions, Func<MySqlOptions, MySqlOptions>?)

    Configure connection to use MySql default provider.

    Declaration
    public static DataOptions UseMySql(this DataOptions options, Func<MySqlOptions, MySqlOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<MySqlOptions, MySqlOptions> optionSetter

    Optional MySqlOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Default provider will be chosen by probing current folder for provider assembly and if it is not found, default to MySql.Data provider.

    | Improve this Doc View Source

    UseMySql(DataOptions, string, Func<MySqlOptions, MySqlOptions>?)

    Configure connection to use MySql default provider and connection string.

    Declaration
    public static DataOptions UseMySql(this DataOptions options, string connectionString, Func<MySqlOptions, MySqlOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    MySql connection string.

    Func<MySqlOptions, MySqlOptions> optionSetter

    Optional MySqlOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Default provider will be chosen by probing current folder for provider assembly and if it is not found, default to MySql.Data provider.

    | Improve this Doc View Source

    UseMySqlConnector(DataOptions, Func<MySqlOptions, MySqlOptions>?)

    Configure connection to use MySqlConnector MySql provider.

    Declaration
    public static DataOptions UseMySqlConnector(this DataOptions options, Func<MySqlOptions, MySqlOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<MySqlOptions, MySqlOptions> optionSetter

    Optional MySqlOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseMySqlConnector(DataOptions, string, Func<MySqlOptions, MySqlOptions>?)

    Configure connection to use MySqlConnector MySql provider and connection string.

    Declaration
    public static DataOptions UseMySqlConnector(this DataOptions options, string connectionString, Func<MySqlOptions, MySqlOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    MySql connection string.

    Func<MySqlOptions, MySqlOptions> optionSetter

    Optional MySqlOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseMySqlData(DataOptions, Func<MySqlOptions, MySqlOptions>?)

    Configure connection to use MySql.Data MySql provider.

    Declaration
    public static DataOptions UseMySqlData(this DataOptions options, Func<MySqlOptions, MySqlOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<MySqlOptions, MySqlOptions> optionSetter

    Optional MySqlOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseMySqlData(DataOptions, string, Func<MySqlOptions, MySqlOptions>?)

    Configure connection to use MySql.Data MySql provider and connection string.

    Declaration
    public static DataOptions UseMySqlData(this DataOptions options, string connectionString, Func<MySqlOptions, MySqlOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    MySql connection string.

    Func<MySqlOptions, MySqlOptions> optionSetter

    Optional MySqlOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseOnEntityDescriptorCreated(DataOptions, Action<MappingSchema, IEntityChangeDescriptor>)

    Defines entity descriptor creation callback to use with DataOptions.

    Declaration
    public static DataOptions UseOnEntityDescriptorCreated(this DataOptions options, Action<MappingSchema, IEntityChangeDescriptor> onEntityDescriptorCreated)
    Parameters
    Type Name Description
    DataOptions options
    Action<MappingSchema, IEntityChangeDescriptor> onEntityDescriptorCreated
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseOptimizeJoins(DataOptions, bool)

    If enabled, linq2db will try to reduce number of generated SQL JOINs for LINQ query. Attempted optimizations:

    • removes duplicate joins by unique target table key;
    • removes self-joins by unique key;
    • removes left joins if joined table is not used in query. Default value: true.
    Declaration
    public static DataOptions UseOptimizeJoins(this DataOptions options, bool optimizeJoins)
    Parameters
    Type Name Description
    DataOptions options
    bool optimizeJoins
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseOracle(DataOptions, OracleVersion, OracleProvider, Func<OracleOptions, OracleOptions>?)

    Configure connection to use specific Oracle provider, dialect and provider-specific options.

    Declaration
    public static DataOptions UseOracle(this DataOptions options, OracleVersion dialect, OracleProvider provider, Func<OracleOptions, OracleOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    OracleVersion dialect

    Oracle dialect support level.

    OracleProvider provider

    ADO.NET provider to use.

    Func<OracleOptions, OracleOptions> optionSetter

    Optional OracleOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseOracle(DataOptions, string, OracleProvider, Func<OracleOptions, OracleOptions>?)

    Configure connection to use specific Oracle provider and connection string.

    Declaration
    public static DataOptions UseOracle(this DataOptions options, string connectionString, OracleProvider provider, Func<OracleOptions, OracleOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    Oracle connection string.

    OracleProvider provider

    ADO.NET provider to use.

    Func<OracleOptions, OracleOptions> optionSetter

    Optional OracleOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseOracle(DataOptions, string, OracleVersion, OracleProvider, Func<OracleOptions, OracleOptions>?)

    Configure connection to use specific Oracle provider, dialect and connection string.

    Declaration
    public static DataOptions UseOracle(this DataOptions options, string connectionString, OracleVersion dialect, OracleProvider provider, Func<OracleOptions, OracleOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    Oracle connection string.

    OracleVersion dialect

    Oracle dialect support level.

    OracleProvider provider

    ADO.NET provider to use.

    Func<OracleOptions, OracleOptions> optionSetter

    Optional OracleOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseOracle(DataOptions, string, Func<OracleOptions, OracleOptions>?)

    Configure connection to use Oracle default provider, specific dialect and connection string.

    Declaration
    public static DataOptions UseOracle(this DataOptions options, string connectionString, Func<OracleOptions, OracleOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    Oracle connection string.

    Func<OracleOptions, OracleOptions> optionSetter

    Optional OracleOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    By default LinqToDB tries to load managed version of Oracle provider.

    | Improve this Doc View Source

    UseParameterizeTakeSkip(DataOptions, bool)

    Enables Take/Skip parameterization. Default value: true.

    Declaration
    public static DataOptions UseParameterizeTakeSkip(this DataOptions options, bool parameterizeTakeSkip)
    Parameters
    Type Name Description
    DataOptions options
    bool parameterizeTakeSkip
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UsePostgreSQL(DataOptions, PostgreSQLVersion, Func<PostgreSQLOptions, PostgreSQLOptions>?)

    Configure connection to use PostgreSQL Npgsql provider, specific dialect and provider-specific options.

    Declaration
    public static DataOptions UsePostgreSQL(this DataOptions options, PostgreSQLVersion dialect = PostgreSQLVersion.AutoDetect, Func<PostgreSQLOptions, PostgreSQLOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    PostgreSQLVersion dialect

    PostgreSQL dialect support level.

    Func<PostgreSQLOptions, PostgreSQLOptions> optionSetter

    Optional PostgreSQLOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UsePostgreSQL(DataOptions, string, PostgreSQLVersion, Func<PostgreSQLOptions, PostgreSQLOptions>?)

    Configure connection to use PostgreSQL Npgsql provider, specific dialect, provider-specific options and connection string.

    Declaration
    public static DataOptions UsePostgreSQL(this DataOptions options, string connectionString, PostgreSQLVersion dialect = PostgreSQLVersion.AutoDetect, Func<PostgreSQLOptions, PostgreSQLOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    PostgreSQL connection string.

    PostgreSQLVersion dialect

    PostgreSQL dialect support level.

    Func<PostgreSQLOptions, PostgreSQLOptions> optionSetter

    Optional PostgreSQLOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UsePostgreSQL(DataOptions, string, Func<PostgreSQLOptions, PostgreSQLOptions>?)

    Configure connection to use PostgreSQL Npgsql provider, default dialect and connection string.

    Declaration
    public static DataOptions UsePostgreSQL(this DataOptions options, string connectionString, Func<PostgreSQLOptions, PostgreSQLOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    PostgreSQL connection string.

    Func<PostgreSQLOptions, PostgreSQLOptions> optionSetter

    Optional PostgreSQLOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    PostgreSQL dialect will be chosen automatically:

    • if AutoDetectProvider (default: true) enabled, LinqToDB will query server for version
    • otherwise v92 will be used as default dialect.
    For more fine-grained configuration see UsePostgreSQL(DataOptions, string, PostgreSQLVersion, Func<PostgreSQLOptions, PostgreSQLOptions>?) overload.
    | Improve this Doc View Source

    UsePreferApply(DataOptions, bool)

    Used to generate CROSS APPLY or OUTER APPLY if possible. Default value: true.

    Declaration
    public static DataOptions UsePreferApply(this DataOptions options, bool preferApply)
    Parameters
    Type Name Description
    DataOptions options
    bool preferApply
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UsePreloadGroups(DataOptions, bool)

    Controls how group data for LINQ queries ended with GroupBy will be loaded:

    • if true - group data will be loaded together with main query, resulting in 1 + N queries, where N - number of groups;
    • if false - group data will be loaded when you call enumerator for specific group IGrouping<TKey,TElement>. Default value: false.
    Declaration
    public static DataOptions UsePreloadGroups(this DataOptions options, bool preloadGroups)
    Parameters
    Type Name Description
    DataOptions options
    bool preloadGroups
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseProvider(DataOptions, string)

    Defines provider name to use with DataOptions.

    Declaration
    public static DataOptions UseProvider(this DataOptions options, string providerName)
    Parameters
    Type Name Description
    DataOptions options
    string providerName
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseRandomFactor(DataOptions, double)

    The maximum random factor, must not be lesser than 1. Default value: 1.1.

    Declaration
    public static DataOptions UseRandomFactor(this DataOptions options, double randomFactor)
    Parameters
    Type Name Description
    DataOptions options
    double randomFactor
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseRetryPolicy(DataOptions, IRetryPolicy)

    Uses retry policy.

    Declaration
    public static DataOptions UseRetryPolicy(this DataOptions options, IRetryPolicy retryPolicy)
    Parameters
    Type Name Description
    DataOptions options
    IRetryPolicy retryPolicy
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseSapHana(DataOptions, Func<SapHanaOptions, SapHanaOptions>?)

    Configure connection to use SAP HANA default provider.

    Declaration
    public static DataOptions UseSapHana(this DataOptions options, Func<SapHanaOptions, SapHanaOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<SapHanaOptions, SapHanaOptions> optionSetter

    Optional SapHanaOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Default provider will be Sap.Data.Hana native provider for .NET Framework and .NET Core applications and ODBC provider for .NET STANDARD builds.

    | Improve this Doc View Source

    UseSapHana(DataOptions, string, Func<SapHanaOptions, SapHanaOptions>?)

    Configure connection to use SAP HANA default provider and connection string.

    Declaration
    public static DataOptions UseSapHana(this DataOptions options, string connectionString, Func<SapHanaOptions, SapHanaOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SAP HANA connection string.

    Func<SapHanaOptions, SapHanaOptions> optionSetter

    Optional SapHanaOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Default provider will be Sap.Data.Hana native provider for .NET Framework and .NET Core applications and ODBC provider for .NET STANDARD builds.

    | Improve this Doc View Source

    UseSapHanaNative(DataOptions, Func<SapHanaOptions, SapHanaOptions>?)

    Configure connection to use native SAP HANA provider.

    Declaration
    public static DataOptions UseSapHanaNative(this DataOptions options, Func<SapHanaOptions, SapHanaOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<SapHanaOptions, SapHanaOptions> optionSetter

    Optional SapHanaOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSapHanaNative(DataOptions, string, Func<SapHanaOptions, SapHanaOptions>?)

    Configure connection to use native SAP HANA provider and connection string.

    Declaration
    public static DataOptions UseSapHanaNative(this DataOptions options, string connectionString, Func<SapHanaOptions, SapHanaOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SAP HANA connection string.

    Func<SapHanaOptions, SapHanaOptions> optionSetter

    Optional SapHanaOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSapHanaODBC(DataOptions, Func<SapHanaOptions, SapHanaOptions>?)

    Configure connection to use SAP HANA ODBC provider.

    Declaration
    public static DataOptions UseSapHanaODBC(this DataOptions options, Func<SapHanaOptions, SapHanaOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<SapHanaOptions, SapHanaOptions> optionSetter

    Optional SapHanaOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSapHanaODBC(DataOptions, string, Func<SapHanaOptions, SapHanaOptions>?)

    Configure connection to use SAP HANA ODBC provider and connection string.

    Declaration
    public static DataOptions UseSapHanaODBC(this DataOptions options, string connectionString, Func<SapHanaOptions, SapHanaOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SAP HANA connection string.

    Func<SapHanaOptions, SapHanaOptions> optionSetter

    Optional SapHanaOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSqlCe(DataOptions, Func<SqlCeOptions, SqlCeOptions>?)

    Configure connection to use SQL CE provider.

    Declaration
    public static DataOptions UseSqlCe(this DataOptions options, Func<SqlCeOptions, SqlCeOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<SqlCeOptions, SqlCeOptions> optionSetter

    Optional SqlCeOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSqlCe(DataOptions, string, Func<SqlCeOptions, SqlCeOptions>?)

    Configure connection to use SQL CE provider and connection string.

    Declaration
    public static DataOptions UseSqlCe(this DataOptions options, string connectionString, Func<SqlCeOptions, SqlCeOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SQL CE connection string.

    Func<SqlCeOptions, SqlCeOptions> optionSetter

    Optional SqlCeOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSQLite(DataOptions, Func<SQLiteOptions, SQLiteOptions>?)

    Configure connection to use SQLite default provider.

    Declaration
    public static DataOptions UseSQLite(this DataOptions options, Func<SQLiteOptions, SQLiteOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<SQLiteOptions, SQLiteOptions> optionSetter

    Optional SQLiteOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Default provider will be chosen by probing current folder for provider assembly and if it is not found, default to System.Data.Sqlite provider.

    For more fine-grained configuration see UseSQLiteOfficial(DataOptions, string, Func<SQLiteOptions, SQLiteOptions>?) and UseSQLiteMicrosoft(DataOptions, string, Func<SQLiteOptions, SQLiteOptions>?) methods.
    | Improve this Doc View Source

    UseSQLite(DataOptions, string, Func<SQLiteOptions, SQLiteOptions>?)

    Configure connection to use SQLite default provider and connection string.

    Declaration
    public static DataOptions UseSQLite(this DataOptions options, string connectionString, Func<SQLiteOptions, SQLiteOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SQLite connection string.

    Func<SQLiteOptions, SQLiteOptions> optionSetter

    Optional SQLiteOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    Remarks

    Default provider will be chosen by probing current folder for provider assembly and if it is not found, default to System.Data.Sqlite provider.

    For more fine-grained configuration see UseSQLiteOfficial(DataOptions, string, Func<SQLiteOptions, SQLiteOptions>?) and UseSQLiteMicrosoft(DataOptions, string, Func<SQLiteOptions, SQLiteOptions>?) methods.
    | Improve this Doc View Source

    UseSQLiteMicrosoft(DataOptions, Func<SQLiteOptions, SQLiteOptions>?)

    Configure connection to use Microsoft.Data.Sqlite SQLite provider.

    Declaration
    public static DataOptions UseSQLiteMicrosoft(this DataOptions options, Func<SQLiteOptions, SQLiteOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<SQLiteOptions, SQLiteOptions> optionSetter

    Optional SQLiteOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSQLiteMicrosoft(DataOptions, string, Func<SQLiteOptions, SQLiteOptions>?)

    Configure connection to use Microsoft.Data.Sqlite SQLite provider and connection string.

    Declaration
    public static DataOptions UseSQLiteMicrosoft(this DataOptions options, string connectionString, Func<SQLiteOptions, SQLiteOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SQLite connection string.

    Func<SQLiteOptions, SQLiteOptions> optionSetter

    Optional SQLiteOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSQLiteOfficial(DataOptions, Func<SQLiteOptions, SQLiteOptions>?)

    Configure connection to use System.Data.Sqlite SQLite provider.

    Declaration
    public static DataOptions UseSQLiteOfficial(this DataOptions options, Func<SQLiteOptions, SQLiteOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    Func<SQLiteOptions, SQLiteOptions> optionSetter

    Optional SQLiteOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSQLiteOfficial(DataOptions, string, Func<SQLiteOptions, SQLiteOptions>?)

    Configure connection to use System.Data.Sqlite SQLite provider and connection string.

    Declaration
    public static DataOptions UseSQLiteOfficial(this DataOptions options, string connectionString, Func<SQLiteOptions, SQLiteOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SQLite connection string.

    Func<SQLiteOptions, SQLiteOptions> optionSetter

    Optional SQLiteOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSqlServer(DataOptions, SqlServerVersion, SqlServerProvider, Func<SqlServerOptions, SqlServerOptions>?)

    Configure connection to use specific SQL Server provider, dialect and provider-specific options.

    Declaration
    public static DataOptions UseSqlServer(this DataOptions options, SqlServerVersion dialect = SqlServerVersion.AutoDetect, SqlServerProvider provider = SqlServerProvider.AutoDetect, Func<SqlServerOptions, SqlServerOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    SqlServerVersion dialect

    SQL Server dialect support level.

    SqlServerProvider provider

    SQL Server provider to use.

    Func<SqlServerOptions, SqlServerOptions> optionSetter

    Optional SqlServerOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseSqlServer(DataOptions, string, SqlServerVersion, SqlServerProvider, Func<SqlServerOptions, SqlServerOptions>?)

    Configure connection to use specific SQL Server provider, dialect, connection string and provider-specific options.

    Declaration
    public static DataOptions UseSqlServer(this DataOptions options, string connectionString, SqlServerVersion dialect = SqlServerVersion.AutoDetect, SqlServerProvider provider = SqlServerProvider.AutoDetect, Func<SqlServerOptions, SqlServerOptions>? optionSetter = null)
    Parameters
    Type Name Description
    DataOptions options

    Instance of DataOptions.

    string connectionString

    SQL Server connection string.

    SqlServerVersion dialect

    SQL Server dialect support level.

    SqlServerProvider provider

    SQL Server provider to use.

    Func<SqlServerOptions, SqlServerOptions> optionSetter

    Optional SqlServerOptions configuration callback.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseTraceLevel(DataOptions, TraceLevel)

    Configure the database to use specified trace level.

    Declaration
    public static DataOptions UseTraceLevel(this DataOptions options, TraceLevel traceLevel)
    Parameters
    Type Name Description
    DataOptions options
    TraceLevel traceLevel
    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseTraceMapperExpression(DataOptions, bool)

    Enables logging of generated mapping expression to data connection tracing infrastructure. See TraceSwitch for more details. Default value: false.

    Declaration
    public static DataOptions UseTraceMapperExpression(this DataOptions options, bool traceMapperExpression)
    Parameters
    Type Name Description
    DataOptions options
    bool traceMapperExpression
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    UseTraceWith(DataOptions, Action<string?, string?, TraceLevel>)

    Configure the database to use the specified a string trace callback.

    Declaration
    public static DataOptions UseTraceWith(this DataOptions options, Action<string?, string?, TraceLevel> write)
    Parameters
    Type Name Description
    DataOptions options
    Action<string, string, TraceLevel> write

    Callback, may not be called depending on the trace level.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseTracing(DataOptions, Action<TraceInfo>)

    Configure the database to use the specified callback for logging or tracing.

    Declaration
    public static DataOptions UseTracing(this DataOptions options, Action<TraceInfo> onTrace)
    Parameters
    Type Name Description
    DataOptions options
    Action<TraceInfo> onTrace

    Callback, may not be called depending on the trace level.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseTracing(DataOptions, TraceLevel, Action<TraceInfo>)

    Configure the database to use the specified trace level and callback for logging or tracing.

    Declaration
    public static DataOptions UseTracing(this DataOptions options, TraceLevel traceLevel, Action<TraceInfo> onTrace)
    Parameters
    Type Name Description
    DataOptions options
    TraceLevel traceLevel

    Trace level to use.

    Action<TraceInfo> onTrace

    Callback, may not be called depending on the trace level.

    Returns
    Type Description
    DataOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    UseTransaction(DataOptions, IDataProvider, DbTransaction)

    Defines data provider and transaction to use with DataOptions.

    Declaration
    public static DataOptions UseTransaction(this DataOptions options, IDataProvider dataProvider, DbTransaction transaction)
    Parameters
    Type Name Description
    DataOptions options
    IDataProvider dataProvider
    DbTransaction transaction
    Returns
    Type Description
    DataOptions
    | Improve this Doc View Source

    WithAfterConnectionOpened(ConnectionOptions, Action<DbConnection>, Func<DbConnection, CancellationToken, Task>?)

    Sets custom actions, executed after connection opened.

    Declaration
    public static ConnectionOptions WithAfterConnectionOpened(this ConnectionOptions options, Action<DbConnection> afterConnectionOpened, Func<DbConnection, CancellationToken, Task>? afterConnectionOpenedAsync = null)
    Parameters
    Type Name Description
    ConnectionOptions options
    Action<DbConnection> afterConnectionOpened

    Action, executed for connection instance after Open() call. Also called after OpenAsync(CancellationToken) call if afterConnectionOpenedAsync action is not provided. Accepts connection instance as parameter.

    Func<DbConnection, CancellationToken, Task> afterConnectionOpenedAsync

    Action, executed for connection instance from async execution path after OpenAsync(CancellationToken) call. Accepts connection instance as parameter. If this option is not set, afterConnectionOpened synchronous action called. Use this option only if you need to perform async work from action, otherwise afterConnectionOpened is sufficient.

    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithBeforeConnectionOpened(ConnectionOptions, Action<DbConnection>, Func<DbConnection, CancellationToken, Task>?)

    Sets custom actions, executed before connection opened.

    Declaration
    public static ConnectionOptions WithBeforeConnectionOpened(this ConnectionOptions options, Action<DbConnection> afterConnectionOpening, Func<DbConnection, CancellationToken, Task>? afterConnectionOpeningAsync = null)
    Parameters
    Type Name Description
    ConnectionOptions options
    Action<DbConnection> afterConnectionOpening

    Action, executed before database connection opened. Accepts connection instance as parameter.

    Func<DbConnection, CancellationToken, Task> afterConnectionOpeningAsync

    Action, executed after database connection opened from async execution path. Accepts connection instance as parameter. If this option is not set, afterConnectionOpening synchronous action called. Use this option only if you need to perform async work from action, otherwise afterConnectionOpening is sufficient.

    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithBulkCopyTimeout(BulkCopyOptions, int?)

    Number of seconds for the operation to complete before it times out.

    Declaration
    public static BulkCopyOptions WithBulkCopyTimeout(this BulkCopyOptions options, int? bulkCopyTimeout)
    Parameters
    Type Name Description
    BulkCopyOptions options
    int? bulkCopyTimeout
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithBulkCopyType(BulkCopyOptions, BulkCopyType)

    Bulk copy mode.

    Declaration
    public static BulkCopyOptions WithBulkCopyType(this BulkCopyOptions options, BulkCopyType bulkCopyType)
    Parameters
    Type Name Description
    BulkCopyOptions options
    BulkCopyType bulkCopyType
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithCacheSlidingExpiration(LinqOptions, TimeSpan?)

    Specifies timeout when query will be evicted from cache since last execution of query. Default value is 1 hour.

    Declaration
    public static LinqOptions WithCacheSlidingExpiration(this LinqOptions options, TimeSpan? cacheSlidingExpiration)
    Parameters
    Type Name Description
    LinqOptions options
    TimeSpan? cacheSlidingExpiration
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithCheckConstraints(BulkCopyOptions, bool?)

    Checks constraints while data is being inserted.

    Declaration
    public static BulkCopyOptions WithCheckConstraints(this BulkCopyOptions options, bool? checkConstraints)
    Parameters
    Type Name Description
    BulkCopyOptions options
    bool? checkConstraints
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithCoefficient(RetryPolicyOptions, TimeSpan)

    The coefficient for the exponential function used to compute the delay between retries, must be nonnegative. Default value: 1 second.

    Declaration
    public static RetryPolicyOptions WithCoefficient(this RetryPolicyOptions options, TimeSpan coefficient)
    Parameters
    Type Name Description
    RetryPolicyOptions options
    TimeSpan coefficient
    Returns
    Type Description
    RetryPolicyOptions
    | Improve this Doc View Source

    WithCompareNullsAsValues(LinqOptions, bool)

    If set to true nullable fields would be checked for IS NULL in Equal/NotEqual comparisons. This affects: Equal, NotEqual, Not Contains Default value: true.

    Declaration
    public static LinqOptions WithCompareNullsAsValues(this LinqOptions options, bool compareNullsAsValues)
    Parameters
    Type Name Description
    LinqOptions options
    bool compareNullsAsValues
    Returns
    Type Description
    LinqOptions
    Examples
    public class MyEntity
    {
        public int? Value;
    }
    
    db.MyEntity.Where(e => e.Value != 10)
    
    from e1 in db.MyEntity
    join e2 in db.MyEntity on e1.Value equals e2.Value
    select e1
    
    var filter = new [] {1, 2, 3};
    db.MyEntity.Where(e => ! filter.Contains(e.Value))

    Would be converted to next queries:

    SELECT Value FROM MyEntity WHERE Value IS NULL OR Value != 10
    
    SELECT e1.Value
    FROM MyEntity e1
    INNER JOIN MyEntity e2 ON e1.Value = e2.Value OR (e1.Value IS NULL AND e2.Value IS NULL)
    
    SELECT Value FROM MyEntity WHERE Value IS NULL OR NOT Value IN (1, 2, 3)
    | Improve this Doc View Source

    WithConfigurationString(ConnectionOptions, string?)

    Sets ConfigurationString option.

    Declaration
    public static ConnectionOptions WithConfigurationString(this ConnectionOptions options, string? configurationString)
    Parameters
    Type Name Description
    ConnectionOptions options
    string configurationString
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithConnectionFactory(ConnectionOptions, Func<DataOptions, DbConnection>)

    Sets ConnectionFactory option.

    Declaration
    public static ConnectionOptions WithConnectionFactory(this ConnectionOptions options, Func<DataOptions, DbConnection> connectionFactory)
    Parameters
    Type Name Description
    ConnectionOptions options
    Func<DataOptions, DbConnection> connectionFactory
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithConnectionString(ConnectionOptions, string?)

    Sets ConnectionString option.

    Declaration
    public static ConnectionOptions WithConnectionString(this ConnectionOptions options, string? connectionString)
    Parameters
    Type Name Description
    ConnectionOptions options
    string connectionString
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithDatabaseName(BulkCopyOptions, string?)

    Gets or sets explicit name of target database instead of one, configured for copied entity in mapping schema. See DatabaseName<T>(ITable<T>, string?) method for support information per provider.

    Declaration
    public static BulkCopyOptions WithDatabaseName(this BulkCopyOptions options, string? databaseName)
    Parameters
    Type Name Description
    BulkCopyOptions options
    string databaseName
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithDataProvider(ConnectionOptions, IDataProvider?)

    Sets DataProvider option.

    Declaration
    public static ConnectionOptions WithDataProvider(this ConnectionOptions options, IDataProvider? dataProvider)
    Parameters
    Type Name Description
    ConnectionOptions options
    IDataProvider dataProvider
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithDataProviderFactory(ConnectionOptions, Func<ConnectionOptions, IDataProvider>)

    Sets DataProviderFactory option.

    Declaration
    public static ConnectionOptions WithDataProviderFactory(this ConnectionOptions options, Func<ConnectionOptions, IDataProvider> dataProviderFactory)
    Parameters
    Type Name Description
    ConnectionOptions options
    Func<ConnectionOptions, IDataProvider> dataProviderFactory
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithDbConnection(ConnectionOptions, DbConnection?)

    Sets DbConnection option.

    Declaration
    public static ConnectionOptions WithDbConnection(this ConnectionOptions options, DbConnection? connection)
    Parameters
    Type Name Description
    ConnectionOptions options
    DbConnection connection
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithDbTransaction(ConnectionOptions, DbTransaction)

    Sets DbTransaction option.

    Declaration
    public static ConnectionOptions WithDbTransaction(this ConnectionOptions options, DbTransaction transaction)
    Parameters
    Type Name Description
    ConnectionOptions options
    DbTransaction transaction
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithDisableQueryCache(LinqOptions, bool)

    Used to disable LINQ expressions caching for queries. This cache reduces time, required for query parsing but have several side-effects:

    - cached LINQ expressions could contain references to external objects as parameters, which could lead to memory leaks if those objects are not used anymore by other code

    - cache access synchronization could lead to bigger latencies than it saves.

    Default value: false.

    It is not recommended to enable this option as it could lead to severe slowdown. Better approach will be to call ClearCache() method to cleanup cache after queries, that produce severe memory leaks you need to fix.

    More details.
    Declaration
    public static LinqOptions WithDisableQueryCache(this LinqOptions options, bool disableQueryCache)
    Parameters
    Type Name Description
    LinqOptions options
    bool disableQueryCache
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithDisposeConnection(ConnectionOptions, bool)

    Sets DisposeConnection option.

    Declaration
    public static ConnectionOptions WithDisposeConnection(this ConnectionOptions options, bool disposeConnection)
    Parameters
    Type Name Description
    ConnectionOptions options
    bool disposeConnection
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithDoNotClearOrderBys(LinqOptions, bool)

    Controls behavior, when LINQ query chain contains multiple OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) or OrderByDescending<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) calls:

    • if true - non-first OrderBy* call will be treated as ThenBy* call;
    • if false - OrderBy* call will discard sort specifications, added by previous OrderBy* and ThenBy* calls. Default value: false.
    Declaration
    public static LinqOptions WithDoNotClearOrderBys(this LinqOptions options, bool doNotClearOrderBys)
    Parameters
    Type Name Description
    LinqOptions options
    bool doNotClearOrderBys
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithEnableContextSchemaEdit(LinqOptions, bool)

    If true, user could add new mappings to context mapping schems (MappingSchema). Otherwise LinqToDBException will be generated on locked mapping schema edit attempt. It is not recommended to enable this option as it has performance implications. Proper approach is to create single MappingSchema instance once, configure mappings for it and use this MappingSchema instance for all context instances.

    Declaration
    public static LinqOptions WithEnableContextSchemaEdit(this LinqOptions options, bool enableContextSchemaEdit)
    Parameters
    Type Name Description
    LinqOptions options
    bool enableContextSchemaEdit
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithExponentialBase(RetryPolicyOptions, double)

    The base for the exponential function used to compute the delay between retries, must be positive. Default value: 2.

    Declaration
    public static RetryPolicyOptions WithExponentialBase(this RetryPolicyOptions options, double exponentialBase)
    Parameters
    Type Name Description
    RetryPolicyOptions options
    double exponentialBase
    Returns
    Type Description
    RetryPolicyOptions
    | Improve this Doc View Source

    WithFactory(RetryPolicyOptions, Func<DataConnection, IRetryPolicy?>?)

    Retry policy factory method, used to create retry policy for new DataConnection instance. If factory method is not set, retry policy is not used. Not set by default.

    Declaration
    public static RetryPolicyOptions WithFactory(this RetryPolicyOptions options, Func<DataConnection, IRetryPolicy?>? factory)
    Parameters
    Type Name Description
    RetryPolicyOptions options
    Func<DataConnection, IRetryPolicy> factory
    Returns
    Type Description
    RetryPolicyOptions
    | Improve this Doc View Source

    WithFireTriggers(BulkCopyOptions, bool?)

    When specified, causes the server to fire the insert triggers for the rows being inserted into the database.

    Declaration
    public static BulkCopyOptions WithFireTriggers(this BulkCopyOptions options, bool? fireTriggers)
    Parameters
    Type Name Description
    BulkCopyOptions options
    bool? fireTriggers
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithGenerateExpressionTest(LinqOptions, bool)

    Enables generation of test class for each LINQ query, executed while this option is enabled. This option could be useful for issue reporting, when you need to provide reproducible case. Test file will be placed to linq2db subfolder of temp folder and exact file path will be logged to data connection tracing infrastructure. See TraceSwitch for more details. Default value: false.

    Declaration
    public static LinqOptions WithGenerateExpressionTest(this LinqOptions options, bool generateExpressionTest)
    Parameters
    Type Name Description
    LinqOptions options
    bool generateExpressionTest
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithGuardGrouping(LinqOptions, bool)

    Controls behavior of LINQ query, which ends with GroupBy call.

    • if true - LinqToDBException will be thrown for such queries;
    • if false - behavior is controlled by UsePreloadGroups(DataOptions, bool) option. Default value: true.
    Declaration
    public static LinqOptions WithGuardGrouping(this LinqOptions options, bool guardGrouping)
    Parameters
    Type Name Description
    LinqOptions options
    bool guardGrouping
    Returns
    Type Description
    LinqOptions
    Remarks

    More details.

    | Improve this Doc View Source

    WithIgnoreEmptyUpdate(LinqOptions, bool)

    Controls behavior of linq2db when there is no updateable fields in Update query:

    • if true - query not executed and Update operation returns 0 as number of affected records;
    • if false - LinqToDBException will be thrown. Default value: false.
    Declaration
    public static LinqOptions WithIgnoreEmptyUpdate(LinqOptions options, bool ignoreEmptyUpdate)
    Parameters
    Type Name Description
    LinqOptions options
    bool ignoreEmptyUpdate
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithKeepDistinctOrdered(LinqOptions, bool)

    Allows SQL generation to automatically transform

    SELECT DISTINCT value FROM Table ORDER BY date

    Into GROUP BY equivalent if syntax is not supported Default value: true.

    Declaration
    public static LinqOptions WithKeepDistinctOrdered(this LinqOptions options, bool keepDistinctOrdered)
    Parameters
    Type Name Description
    LinqOptions options
    bool keepDistinctOrdered
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithKeepIdentity(BulkCopyOptions, bool?)

    If this option set to true, bulk copy will use values of columns, marked with IsIdentity flag. SkipOnInsert flag in this case will be ignored. Otherwise those columns will be skipped and values will be generated by server. Not compatible with RowByRow mode.

    Declaration
    public static BulkCopyOptions WithKeepIdentity(this BulkCopyOptions options, bool? keepIdentity)
    Parameters
    Type Name Description
    BulkCopyOptions options
    bool? keepIdentity
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithKeepNulls(BulkCopyOptions, bool?)

    Preserves null values in the destination table regardless of the settings for default values.

    Declaration
    public static BulkCopyOptions WithKeepNulls(this BulkCopyOptions options, bool? keepNulls)
    Parameters
    Type Name Description
    BulkCopyOptions options
    bool? keepNulls
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithMappingSchema(ConnectionOptions, MappingSchema)

    Sets MappingSchema option.

    Declaration
    public static ConnectionOptions WithMappingSchema(this ConnectionOptions options, MappingSchema mappingSchema)
    Parameters
    Type Name Description
    ConnectionOptions options
    MappingSchema mappingSchema
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithMaxBatchSize(BulkCopyOptions, int?)

    Number of rows in each batch. At the end of each batch, the rows in the batch are sent to the server. Returns an integer value or zero if no value has been set.

    Declaration
    public static BulkCopyOptions WithMaxBatchSize(this BulkCopyOptions options, int? maxBatchSize)
    Parameters
    Type Name Description
    BulkCopyOptions options
    int? maxBatchSize
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithMaxDegreeOfParallelism(BulkCopyOptions, int?)

    Implemented only by ClickHouse.Client provider. Defines number of connections, used for parallel insert in ProviderSpecific mode.

    Declaration
    public static BulkCopyOptions WithMaxDegreeOfParallelism(this BulkCopyOptions options, int? maxDegreeOfParallelism)
    Parameters
    Type Name Description
    BulkCopyOptions options
    int? maxDegreeOfParallelism
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithMaxDelay(RetryPolicyOptions, TimeSpan)

    The maximum time delay between retries, must be nonnegative. Default value: 30 seconds.

    Declaration
    public static RetryPolicyOptions WithMaxDelay(this RetryPolicyOptions options, TimeSpan maxDelay)
    Parameters
    Type Name Description
    RetryPolicyOptions options
    TimeSpan maxDelay
    Returns
    Type Description
    RetryPolicyOptions
    | Improve this Doc View Source

    WithMaxParametersForBatch(BulkCopyOptions, int?)

    If set, will override the Maximum parameters per batch statement from MaxParameters.

    Declaration
    public static BulkCopyOptions WithMaxParametersForBatch(this BulkCopyOptions options, int? maxParametersForBatch)
    Parameters
    Type Name Description
    BulkCopyOptions options
    int? maxParametersForBatch
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithMaxRetryCount(RetryPolicyOptions, int)

    The number of retry attempts. Default value: 5.

    Declaration
    public static RetryPolicyOptions WithMaxRetryCount(this RetryPolicyOptions options, int maxRetryCount)
    Parameters
    Type Name Description
    RetryPolicyOptions options
    int maxRetryCount
    Returns
    Type Description
    RetryPolicyOptions
    | Improve this Doc View Source

    WithNotifyAfter(BulkCopyOptions, int)

    Gets or sets counter after how many copied records RowsCopiedCallback should be called. E.g. if you set it to 10, callback will be called after each 10 copied records. To disable callback, set this option to 0 (default value).

    Declaration
    public static BulkCopyOptions WithNotifyAfter(this BulkCopyOptions options, int notifyAfter)
    Parameters
    Type Name Description
    BulkCopyOptions options
    int notifyAfter
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithOnEntityDescriptorCreated(ConnectionOptions, Action<MappingSchema, IEntityChangeDescriptor>)

    Sets OnEntityDescriptorCreated option.

    Declaration
    public static ConnectionOptions WithOnEntityDescriptorCreated(this ConnectionOptions options, Action<MappingSchema, IEntityChangeDescriptor> onEntityDescriptorCreated)
    Parameters
    Type Name Description
    ConnectionOptions options
    Action<MappingSchema, IEntityChangeDescriptor> onEntityDescriptorCreated
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithOnTrace(QueryTraceOptions, Action<TraceInfo>)

    Configure the database to use the specified callback for logging or tracing.

    Declaration
    public static QueryTraceOptions WithOnTrace(this QueryTraceOptions options, Action<TraceInfo> onTrace)
    Parameters
    Type Name Description
    QueryTraceOptions options
    Action<TraceInfo> onTrace

    Callback, may not be called depending on the trace level.

    Returns
    Type Description
    QueryTraceOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    WithOptimizeJoins(LinqOptions, bool)

    If enabled, linq2db will try to reduce number of generated SQL JOINs for LINQ query. Attempted optimizations:

    • removes duplicate joins by unique target table key;
    • removes self-joins by unique key;
    • removes left joins if joined table is not used in query. Default value: true.
    Declaration
    public static LinqOptions WithOptimizeJoins(this LinqOptions options, bool optimizeJoins)
    Parameters
    Type Name Description
    LinqOptions options
    bool optimizeJoins
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithParameterizeTakeSkip(LinqOptions, bool)

    Enables Take/Skip parameterization. Default value: true.

    Declaration
    public static LinqOptions WithParameterizeTakeSkip(this LinqOptions options, bool parameterizeTakeSkip)
    Parameters
    Type Name Description
    LinqOptions options
    bool parameterizeTakeSkip
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithPreferApply(LinqOptions, bool)

    Used to generate CROSS APPLY or OUTER APPLY if possible. Default value: true.

    Declaration
    public static LinqOptions WithPreferApply(this LinqOptions options, bool preferApply)
    Parameters
    Type Name Description
    LinqOptions options
    bool preferApply
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithPreloadGroups(LinqOptions, bool)

    Controls how group data for LINQ queries ended with GroupBy will be loaded:

    • if true - group data will be loaded together with main query, resulting in 1 + N queries, where N - number of groups;
    • if false - group data will be loaded when you call enumerator for specific group IGrouping<TKey,TElement>. Default value: false.
    Declaration
    public static LinqOptions WithPreloadGroups(this LinqOptions options, bool preloadGroups)
    Parameters
    Type Name Description
    LinqOptions options
    bool preloadGroups
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithProviderName(ConnectionOptions, string)

    Sets ProviderName option.

    Declaration
    public static ConnectionOptions WithProviderName(this ConnectionOptions options, string providerName)
    Parameters
    Type Name Description
    ConnectionOptions options
    string providerName
    Returns
    Type Description
    ConnectionOptions
    | Improve this Doc View Source

    WithRandomFactor(RetryPolicyOptions, double)

    The maximum random factor, must not be lesser than 1. Default value: 1.1.

    Declaration
    public static RetryPolicyOptions WithRandomFactor(this RetryPolicyOptions options, double randomFactor)
    Parameters
    Type Name Description
    RetryPolicyOptions options
    double randomFactor
    Returns
    Type Description
    RetryPolicyOptions
    | Improve this Doc View Source

    WithRetryPolicy(RetryPolicyOptions, IRetryPolicy)

    Uses retry policy

    Declaration
    public static RetryPolicyOptions WithRetryPolicy(this RetryPolicyOptions options, IRetryPolicy retryPolicy)
    Parameters
    Type Name Description
    RetryPolicyOptions options
    IRetryPolicy retryPolicy
    Returns
    Type Description
    RetryPolicyOptions
    | Improve this Doc View Source

    WithRowsCopiedCallback(BulkCopyOptions, Action<BulkCopyRowsCopied>?)

    Gets or sets callback method that will be called by BulkCopy operation after each NotifyAfter rows copied. This callback will not be used if NotifyAfter set to 0.

    Declaration
    public static BulkCopyOptions WithRowsCopiedCallback(this BulkCopyOptions options, Action<BulkCopyRowsCopied>? rowsCopiedCallback)
    Parameters
    Type Name Description
    BulkCopyOptions options
    Action<BulkCopyRowsCopied> rowsCopiedCallback
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithSchemaName(BulkCopyOptions, string?)

    Gets or sets explicit name of target schema/owner instead of one, configured for copied entity in mapping schema. See SchemaName<T>(ITable<T>, string?) method for support information per provider.

    Declaration
    public static BulkCopyOptions WithSchemaName(this BulkCopyOptions options, string? schemaName)
    Parameters
    Type Name Description
    BulkCopyOptions options
    string schemaName
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithServerName(BulkCopyOptions, string?)

    Gets or sets explicit name of target server instead of one, configured for copied entity in mapping schema. See ServerName<T>(ITable<T>, string?) method for support information per provider. Also note that it is not supported by provider-specific insert method.

    Declaration
    public static BulkCopyOptions WithServerName(this BulkCopyOptions options, string? serverName)
    Parameters
    Type Name Description
    BulkCopyOptions options
    string serverName
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithTableLock(BulkCopyOptions, bool?)

    Obtains a bulk update lock for the duration of the bulk copy operation.

    Declaration
    public static BulkCopyOptions WithTableLock(this BulkCopyOptions options, bool? tableLock)
    Parameters
    Type Name Description
    BulkCopyOptions options
    bool? tableLock
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithTableName(BulkCopyOptions, string?)

    Gets or sets explicit name of target table instead of one, configured for copied entity in mapping schema.

    Declaration
    public static BulkCopyOptions WithTableName(this BulkCopyOptions options, string? tableName)
    Parameters
    Type Name Description
    BulkCopyOptions options
    string tableName
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithTableOptions(BulkCopyOptions, TableOptions)

    Gets or sets TableOptions flags overrides instead of configured for copied entity in mapping schema. See IsTemporary<T>(ITable<T>, bool) method for support information per provider.

    Declaration
    public static BulkCopyOptions WithTableOptions(this BulkCopyOptions options, TableOptions tableOptions)
    Parameters
    Type Name Description
    BulkCopyOptions options
    TableOptions tableOptions
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithTraceLevel(QueryTraceOptions, TraceLevel)

    Configure the database to use specified trace level.

    Declaration
    public static QueryTraceOptions WithTraceLevel(this QueryTraceOptions options, TraceLevel traceLevel)
    Parameters
    Type Name Description
    QueryTraceOptions options
    TraceLevel traceLevel
    Returns
    Type Description
    QueryTraceOptions

    The builder instance so calls can be chained.

    | Improve this Doc View Source

    WithTraceMapperExpression(LinqOptions, bool)

    Enables logging of generated mapping expression to data connection tracing infrastructure. See TraceSwitch for more details. Default value: false.

    Declaration
    public static LinqOptions WithTraceMapperExpression(this LinqOptions options, bool traceMapperExpression)
    Parameters
    Type Name Description
    LinqOptions options
    bool traceMapperExpression
    Returns
    Type Description
    LinqOptions
    | Improve this Doc View Source

    WithUseInternalTransaction(BulkCopyOptions, bool?)

    When specified, each batch of the bulk-copy operation will occur within a transaction.

    Declaration
    public static BulkCopyOptions WithUseInternalTransaction(this BulkCopyOptions options, bool? useInternalTransaction)
    Parameters
    Type Name Description
    BulkCopyOptions options
    bool? useInternalTransaction
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithUseParameters(BulkCopyOptions, bool)

    Gets or sets whether to Always use Parameters for MultipleRowsCopy. Default is false. If True, provider's override for MaxParameters will be used to determine the maximum number of rows per insert, Unless overridden by MaxParametersForBatch.

    Declaration
    public static BulkCopyOptions WithUseParameters(this BulkCopyOptions options, bool useParameters)
    Parameters
    Type Name Description
    BulkCopyOptions options
    bool useParameters
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithWithoutSession(BulkCopyOptions, bool)

    Implemented only by ClickHouse.Client provider. When set, provider-specific bulk copy will use session-less connection even if called over connection with session. Note that session-less connections cannot be used with session-bound functionality like temporary tables.

    Declaration
    public static BulkCopyOptions WithWithoutSession(this BulkCopyOptions options, bool withoutSession)
    Parameters
    Type Name Description
    BulkCopyOptions options
    bool withoutSession
    Returns
    Type Description
    BulkCopyOptions
    | Improve this Doc View Source

    WithWriteTrace(QueryTraceOptions, Action<string?, string?, TraceLevel>)

    Configure the database to use the specified a string trace callback.

    Declaration
    public static QueryTraceOptions WithWriteTrace(this QueryTraceOptions options, Action<string?, string?, TraceLevel> write)
    Parameters
    Type Name Description
    QueryTraceOptions options
    Action<string, string, TraceLevel> write

    Callback, may not be called depending on the trace level.

    Returns
    Type Description
    QueryTraceOptions

    The builder instance so calls can be chained.

    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2011-2023 linq2db.com

    Generated by DocFX