Table of Contents

Class ProviderDetectorBase<TProvider, TVersion>

Namespace
LinqToDB.Internal.DataProvider
Assembly
linq2db.dll
public abstract class ProviderDetectorBase<TProvider, TVersion> where TProvider : struct, Enum where TVersion : struct, Enum

Type Parameters

TProvider
TVersion
Inheritance
ProviderDetectorBase<TProvider, TVersion>
Derived
Inherited Members
Extension Methods

Constructors

ProviderDetectorBase()

protected ProviderDetectorBase()

ProviderDetectorBase(TVersion, TVersion)

protected ProviderDetectorBase(TVersion autoDetectVersion, TVersion defaultVersion)

Parameters

autoDetectVersion TVersion
defaultVersion TVersion

Properties

AutoDetectProvider

public bool AutoDetectProvider { get; set; }

Property Value

bool

AutoDetectVersion

public TVersion AutoDetectVersion { get; set; }

Property Value

TVersion

DefaultVersion

public TVersion DefaultVersion { get; set; }

Property Value

TVersion

Methods

ClearCache()

Clears provider version cache.

public static void ClearCache()

CreateConnection(TProvider, string)

protected abstract DbConnection CreateConnection(TProvider provider, string connectionString)

Parameters

provider TProvider
connectionString string

Returns

DbConnection

CreateDataProvider<T>()

Creates provider instance factory with instance registration it in DataConnection.

protected static Lazy<IDataProvider> CreateDataProvider<T>() where T : IDataProvider, new()

Returns

Lazy<IDataProvider>

Type Parameters

T

CreateOptions(DataOptions, TVersion, TProvider)

public DataOptions CreateOptions(DataOptions options, TVersion dialect, TProvider provider)

Parameters

options DataOptions
dialect TVersion
provider TProvider

Returns

DataOptions

DetectProvider(ConnectionOptions)

public abstract IDataProvider? DetectProvider(ConnectionOptions options)

Parameters

options ConnectionOptions

Returns

IDataProvider

DetectProvider(ConnectionOptions, TProvider)

protected virtual TProvider DetectProvider(ConnectionOptions options, TProvider provider)

Parameters

options ConnectionOptions
provider TProvider

Returns

TProvider

DetectServerVersion(ConnectionOptions, TProvider)

Connects to database and parses version information.

public TVersion? DetectServerVersion(ConnectionOptions options, TProvider provider)

Parameters

options ConnectionOptions
provider TProvider

Returns

TVersion?

Detected database server/dialect version.

Remarks

Uses cache to avoid unwanted connections to Database.

DetectServerVersion(DbConnection, DbTransaction?)

protected abstract TVersion? DetectServerVersion(DbConnection connection, DbTransaction? transaction)

Parameters

connection DbConnection
transaction DbTransaction

Returns

TVersion?

GetDataProvider(ConnectionOptions, TProvider, TVersion)

public abstract IDataProvider GetDataProvider(ConnectionOptions options, TProvider provider, TVersion version)

Parameters

options ConnectionOptions
provider TProvider
version TVersion

Returns

IDataProvider

TryGetCachedServerVersion(string, out TVersion?)

public bool TryGetCachedServerVersion(string connectionString, out TVersion? version)

Parameters

connectionString string
version TVersion?

Returns

bool