Table of Contents

Class OracleOptions

Namespace
LinqToDB.DataProvider.Oracle
Assembly
linq2db.dll
public sealed record OracleOptions : DataProviderOptions<OracleOptions>, IOptionSet, IConfigurationID, IEquatable<DataProviderOptions<OracleOptions>>, IEquatable<OracleOptions>
Inheritance
object
OracleOptions
Implements
Inherited Members
Extension Methods

Constructors

OracleOptions()

public OracleOptions()

OracleOptions(BulkCopyType, AlternativeBulkCopy, bool, int?)

public OracleOptions(BulkCopyType BulkCopyType = BulkCopyType.MultipleRows, AlternativeBulkCopy AlternativeBulkCopy = AlternativeBulkCopy.InsertAll, bool DontEscapeLowercaseIdentifiers = false, int? MaxStringParameterLength = 4000)

Parameters

BulkCopyType BulkCopyType

Default bulk copy mode, used for oracle by BulkCopy<T>(IDataContext, IEnumerable<T>) methods, if mode is not specified explicitly. Default value: MultipleRows.

AlternativeBulkCopy AlternativeBulkCopy

Defines type of multi-row INSERT operation to generate for RowByRow bulk copy mode.

DontEscapeLowercaseIdentifiers bool

Gets or sets flag to tell LinqToDB to quote identifiers, if they contain lowercase letters. Default value: false. This flag is added for backward compatibility and not recommended for use with new applications.

MaxStringParameterLength int?

Maximum string length threshold, measured in .NET characters, for regular string parameter binding. Undefined string parameters with length greater than or equal to this value are bound as NCLOB.

The default value is 4000, which corresponds to Oracle's default MAX_STRING_SIZE limit for VARCHAR2 values in the common single-byte case.

This setting is a user-configurable heuristic and does not perform byte-exact validation against the database character set.

Set to null to disable automatic NCLOB inference.

See Oracle documentation for VARCHAR2 limits: https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/Data-Types.html.

Properties

AlternativeBulkCopy

Defines type of multi-row INSERT operation to generate for RowByRow bulk copy mode.

public AlternativeBulkCopy AlternativeBulkCopy { get; init; }

Property Value

AlternativeBulkCopy

DontEscapeLowercaseIdentifiers

Gets or sets flag to tell LinqToDB to quote identifiers, if they contain lowercase letters. Default value: false. This flag is added for backward compatibility and not recommended for use with new applications.

public bool DontEscapeLowercaseIdentifiers { get; init; }

Property Value

bool

MaxStringParameterLength

Maximum string length threshold, measured in .NET characters, for regular string parameter binding. Undefined string parameters with length greater than or equal to this value are bound as NCLOB.

The default value is 4000, which corresponds to Oracle's default MAX_STRING_SIZE limit for VARCHAR2 values in the common single-byte case.

This setting is a user-configurable heuristic and does not perform byte-exact validation against the database character set.

Set to null to disable automatic NCLOB inference.

See Oracle documentation for VARCHAR2 limits: https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/Data-Types.html.

public int? MaxStringParameterLength { get; init; }

Property Value

int?

Methods

CreateID(IdentifierBuilder)

protected override IdentifierBuilder CreateID(IdentifierBuilder builder)

Parameters

builder IdentifierBuilder

Returns

IdentifierBuilder

Equals(OracleOptions?)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(OracleOptions? other)

Parameters

other OracleOptions

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.