Table of Contents

Interface ILinqToDBForEFTools

Namespace
LinqToDB.EntityFrameworkCore
Assembly
linq2db.EntityFrameworkCore.dll

Interface for EF Core - LINQ To DB integration bridge.

public interface ILinqToDBForEFTools

Properties

EnableChangeTracker

Enables attaching entities to change tracker. Entities will be attached only if AsNoTracking() is not used in query and DbContext is configured to track entities.

bool EnableChangeTracker { get; set; }

Property Value

bool

Methods

ClearCaches()

Clears internal caches

void ClearCaches()

CreateLogger(IDbContextOptions?)

Creates logger used for logging Linq To DB connection calls.

ILogger? CreateLogger(IDbContextOptions? options)

Parameters

options IDbContextOptions

IDbContextOptions instance.

Returns

ILogger

Logger instance.

CreateMappingSchema(IModel, IMetadataReader, IValueConverterSelector, DataOptions)

Creates mapping schema using provided EF Core data model and metadata provider.

MappingSchema CreateMappingSchema(IModel model, IMetadataReader metadataReader, IValueConverterSelector convertorSelector, DataOptions dataOptions)

Parameters

model IModel

EF Core data model.

metadataReader IMetadataReader

Additional optional LINQ To DB database metadata provider.

convertorSelector IValueConverterSelector

EF Core registry for type conversion.

dataOptions DataOptions

Linq To DB context options.

Returns

MappingSchema

Mapping schema for provided EF Core model.

CreateMetadataReader(IModel?, IInfrastructure<IServiceProvider>?)

Creates metadata provider for specified EF Core data model. Default implementation uses LinqToDB.EntityFrameworkCore.EFCoreMetadataReader metadata provider.

IMetadataReader? CreateMetadataReader(IModel? model, IInfrastructure<IServiceProvider>? accessor)

Parameters

model IModel

EF Core data model.

accessor IInfrastructure<IServiceProvider>

EF Core service provider.

Returns

IMetadataReader

LINQ To DB metadata provider for specified EF Core model.

ExtractConnectionInfo(IDbContextOptions?)

Extracts EF Core connection information object from IDbContextOptions.

EFConnectionInfo ExtractConnectionInfo(IDbContextOptions? options)

Parameters

options IDbContextOptions

IDbContextOptions instance.

Returns

EFConnectionInfo

EF Core connection data.

ExtractModel(IDbContextOptions?)

Extracts EF Core data model instance from IDbContextOptions.

IModel? ExtractModel(IDbContextOptions? options)

Parameters

options IDbContextOptions

IDbContextOptions instance.

Returns

IModel

EF Core data model instance.

GetContextOptions(DbContext?)

Returns EF Core IDbContextOptions for specific DbContext instance.

IDbContextOptions? GetContextOptions(DbContext? context)

Parameters

context DbContext

EF Core DbContext instance.

Returns

IDbContextOptions

IDbContextOptions instance.

GetCurrentContext(IQueryable)

Extracts DbContext instance from IQueryable object.

DbContext? GetCurrentContext(IQueryable query)

Parameters

query IQueryable

EF Core query.

Returns

DbContext

Current DbContext instance.

GetDataProvider(DataOptions, EFProviderInfo, EFConnectionInfo)

Returns LINQ To DB provider, based on provider data from EF Core.

IDataProvider? GetDataProvider(DataOptions options, EFProviderInfo providerInfo, EFConnectionInfo connectionInfo)

Parameters

options DataOptions

Linq To DB context options.

providerInfo EFProviderInfo

Provider information, extracted from EF Core.

connectionInfo EFConnectionInfo

Database connection information.

Returns

IDataProvider

LINQ TO DB provider instance.

GetMappingSchema(IModel, IMetadataReader?, IValueConverterSelector?, DataOptions?)

Returns mapping schema using provided EF Core data model and metadata provider.

MappingSchema GetMappingSchema(IModel model, IMetadataReader? metadataReader, IValueConverterSelector? convertorSelector, DataOptions? dataOptions)

Parameters

model IModel

EF Core data model.

metadataReader IMetadataReader

Additional optional LINQ To DB database metadata provider.

convertorSelector IValueConverterSelector

EF Core registry for type conversion.

dataOptions DataOptions

Linq To DB context options.

Returns

MappingSchema

Mapping schema for provided EF Core model.

LogConnectionTrace(TraceInfo, ILogger)

Logs DataConnection information.

void LogConnectionTrace(TraceInfo info, ILogger logger)

Parameters

info TraceInfo
logger ILogger

TransformExpression(Expression, IDataContext?, DbContext?, IModel?)

Transforms EF Core expression tree to LINQ To DB expression.

Expression TransformExpression(Expression expression, IDataContext? dc, DbContext? ctx, IModel? model)

Parameters

expression Expression

EF Core expression tree.

dc IDataContext

LINQ To DB IDataContext instance.

ctx DbContext

Optional DbContext instance.

model IModel

EF Core data model instance.

Returns

Expression

Transformed expression.