Table of Contents

Class MigrationsSqlGeneratorDependencies

Namespace
Microsoft.EntityFrameworkCore.Migrations
Assembly
Microsoft.EntityFrameworkCore.Relational.dll

Service dependencies parameter class for MigrationsSqlGenerator

This type is typically used by database providers (and other extensions). It is generally not used in application code.

Do not construct instances of this class directly from either provider or application code as the constructor signature may change as new dependencies are added. Instead, use this type in your constructor so that an instance will be created and injected automatically by the dependency injection container. To create an instance with some dependent services replaced, first resolve the object from the dependency injection container, then replace selected services using the 'With...' methods. Do not call the constructor at any point in this process.

The service lifetime is Scoped. This means that each Microsoft.EntityFrameworkCore.DbContext instance will use its own instance of this service. The implementation may depend on other services registered with any lifetime. The implementation does not need to be thread-safe.

public sealed class MigrationsSqlGeneratorDependencies
Inheritance
MigrationsSqlGeneratorDependencies
Inherited Members

Constructors

MigrationsSqlGeneratorDependencies(IRelationalCommandBuilderFactory, IUpdateSqlGenerator, ISqlGenerationHelper, IRelationalTypeMappingSource, ICurrentDbContext, ILoggingOptions, IDiagnosticsLogger<Command>, IDiagnosticsLogger<Migrations>)

Creates the service dependencies parameter object for a MigrationsSqlGenerator.

Do not call this constructor directly from either provider or application code as it may change as new dependencies are added. Instead, use this type in your constructor so that an instance will be created and injected automatically by the dependency injection container. To create an instance with some dependent services replaced, first resolve the object from the dependency injection container, then replace selected services using the 'With...' methods. Do not call the constructor at any point in this process.

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public MigrationsSqlGeneratorDependencies(IRelationalCommandBuilderFactory commandBuilderFactory, IUpdateSqlGenerator updateSqlGenerator, ISqlGenerationHelper sqlGenerationHelper, IRelationalTypeMappingSource typeMappingSource, ICurrentDbContext currentContext, ILoggingOptions loggingOptions, IDiagnosticsLogger<DbLoggerCategory.Database.Command> logger, IDiagnosticsLogger<DbLoggerCategory.Migrations> migrationsLogger)

Parameters

commandBuilderFactory IRelationalCommandBuilderFactory
updateSqlGenerator IUpdateSqlGenerator
sqlGenerationHelper ISqlGenerationHelper
typeMappingSource IRelationalTypeMappingSource
currentContext ICurrentDbContext
loggingOptions ILoggingOptions
logger IDiagnosticsLogger<Command>
migrationsLogger IDiagnosticsLogger<Migrations>

Properties

CommandBuilderFactory

The command builder factory.

public IRelationalCommandBuilderFactory CommandBuilderFactory { get; }

Property Value

IRelationalCommandBuilderFactory

CurrentContext

Contains the Microsoft.EntityFrameworkCore.DbContext currently in use.

public ICurrentDbContext CurrentContext { get; }

Property Value

ICurrentDbContext

Logger

The database command logger.

public IDiagnosticsLogger<DbLoggerCategory.Database.Command> Logger { get; }

Property Value

IDiagnosticsLogger<Command>

LoggingOptions

The logging options.

public ILoggingOptions LoggingOptions { get; }

Property Value

ILoggingOptions

MigrationsLogger

The database command logger.

public IDiagnosticsLogger<DbLoggerCategory.Migrations> MigrationsLogger { get; }

Property Value

IDiagnosticsLogger<Migrations>

SqlGenerationHelper

Helpers for SQL generation.

public ISqlGenerationHelper SqlGenerationHelper { get; }

Property Value

ISqlGenerationHelper

TypeMappingSource

The type mapper.

public IRelationalTypeMappingSource TypeMappingSource { get; }

Property Value

IRelationalTypeMappingSource

UpdateSqlGenerator

High level SQL generator.

public IUpdateSqlGenerator UpdateSqlGenerator { get; }

Property Value

IUpdateSqlGenerator

Methods

With(IDiagnosticsLogger<Command>)

Clones this dependency parameter object with one service replaced.

public MigrationsSqlGeneratorDependencies With(IDiagnosticsLogger<DbLoggerCategory.Database.Command> logger)

Parameters

logger IDiagnosticsLogger<Command>

A replacement for the current dependency of this type.

Returns

MigrationsSqlGeneratorDependencies

A new parameter object with the given service replaced.

With(IDiagnosticsLogger<Migrations>)

Clones this dependency parameter object with one service replaced.

public MigrationsSqlGeneratorDependencies With(IDiagnosticsLogger<DbLoggerCategory.Migrations> migrationsLogger)

Parameters

migrationsLogger IDiagnosticsLogger<Migrations>

A replacement for the current dependency of this type.

Returns

MigrationsSqlGeneratorDependencies

A new parameter object with the given service replaced.

With(ILoggingOptions)

Clones this dependency parameter object with one service replaced.

public MigrationsSqlGeneratorDependencies With(ILoggingOptions loggingOptions)

Parameters

loggingOptions ILoggingOptions

A replacement for the current dependency of this type.

Returns

MigrationsSqlGeneratorDependencies

A new parameter object with the given service replaced.

With(ICurrentDbContext)

Clones this dependency parameter object with one service replaced.

public MigrationsSqlGeneratorDependencies With(ICurrentDbContext currentContext)

Parameters

currentContext ICurrentDbContext

A replacement for the current dependency of this type.

Returns

MigrationsSqlGeneratorDependencies

A new parameter object with the given service replaced.

With(IRelationalCommandBuilderFactory)

Clones this dependency parameter object with one service replaced.

public MigrationsSqlGeneratorDependencies With(IRelationalCommandBuilderFactory commandBuilderFactory)

Parameters

commandBuilderFactory IRelationalCommandBuilderFactory

A replacement for the current dependency of this type.

Returns

MigrationsSqlGeneratorDependencies

A new parameter object with the given service replaced.

With(IRelationalTypeMappingSource)

Clones this dependency parameter object with one service replaced.

public MigrationsSqlGeneratorDependencies With(IRelationalTypeMappingSource typeMappingSource)

Parameters

typeMappingSource IRelationalTypeMappingSource

A replacement for the current dependency of this type.

Returns

MigrationsSqlGeneratorDependencies

A new parameter object with the given service replaced.

With(ISqlGenerationHelper)

Clones this dependency parameter object with one service replaced.

public MigrationsSqlGeneratorDependencies With(ISqlGenerationHelper sqlGenerationHelper)

Parameters

sqlGenerationHelper ISqlGenerationHelper

A replacement for the current dependency of this type.

Returns

MigrationsSqlGeneratorDependencies

A new parameter object with the given service replaced.

With(IUpdateSqlGenerator)

Clones this dependency parameter object with one service replaced.

public MigrationsSqlGeneratorDependencies With(IUpdateSqlGenerator updateSqlGenerator)

Parameters

updateSqlGenerator IUpdateSqlGenerator

A replacement for the current dependency of this type.

Returns

MigrationsSqlGeneratorDependencies

A new parameter object with the given service replaced.