Table of Contents

Class MigrationsAnnotationProvider

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

A base class inherited by database providers that gives access to annotations used by EF Core Migrations when generating removal operations for various elements of the IRelationalModel.

public class MigrationsAnnotationProvider : IMigrationsAnnotationProvider
Inheritance
MigrationsAnnotationProvider
Implements
Inherited Members

Remarks

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

See Database migrations for more information and examples.

Constructors

MigrationsAnnotationProvider(MigrationsAnnotationProviderDependencies)

Initializes a new instance of this class.

public MigrationsAnnotationProvider(MigrationsAnnotationProviderDependencies dependencies)

Parameters

dependencies MigrationsAnnotationProviderDependencies

Parameter object containing dependencies for this service.

Properties

Dependencies

Relational provider-specific dependencies for this service.

protected virtual MigrationsAnnotationProviderDependencies Dependencies { get; }

Property Value

MigrationsAnnotationProviderDependencies

Methods

ForRemove(ICheckConstraint)

public virtual IEnumerable<IAnnotation> ForRemove(ICheckConstraint checkConstraint)

Parameters

checkConstraint ICheckConstraint

Returns

IEnumerable<IAnnotation>

ForRemove(IColumn)

public virtual IEnumerable<IAnnotation> ForRemove(IColumn column)

Parameters

column IColumn

Returns

IEnumerable<IAnnotation>

ForRemove(IForeignKeyConstraint)

public virtual IEnumerable<IAnnotation> ForRemove(IForeignKeyConstraint foreignKey)

Parameters

foreignKey IForeignKeyConstraint

Returns

IEnumerable<IAnnotation>

ForRemove(IRelationalModel)

public virtual IEnumerable<IAnnotation> ForRemove(IRelationalModel model)

Parameters

model IRelationalModel

Returns

IEnumerable<IAnnotation>

ForRemove(ISequence)

public virtual IEnumerable<IAnnotation> ForRemove(ISequence sequence)

Parameters

sequence ISequence

Returns

IEnumerable<IAnnotation>

ForRemove(ITable)

public virtual IEnumerable<IAnnotation> ForRemove(ITable table)

Parameters

table ITable

Returns

IEnumerable<IAnnotation>

ForRemove(ITableIndex)

public virtual IEnumerable<IAnnotation> ForRemove(ITableIndex index)

Parameters

index ITableIndex

Returns

IEnumerable<IAnnotation>

ForRemove(IUniqueConstraint)

public virtual IEnumerable<IAnnotation> ForRemove(IUniqueConstraint constraint)

Parameters

constraint IUniqueConstraint

Returns

IEnumerable<IAnnotation>

ForRemove(IView)

public virtual IEnumerable<IAnnotation> ForRemove(IView view)

Parameters

view IView

Returns

IEnumerable<IAnnotation>

ForRemove(IViewColumn)

public virtual IEnumerable<IAnnotation> ForRemove(IViewColumn column)

Parameters

column IViewColumn

Returns

IEnumerable<IAnnotation>

ForRename(IColumn)

public virtual IEnumerable<IAnnotation> ForRename(IColumn column)

Parameters

column IColumn

Returns

IEnumerable<IAnnotation>

ForRename(ISequence)

public virtual IEnumerable<IAnnotation> ForRename(ISequence sequence)

Parameters

sequence ISequence

Returns

IEnumerable<IAnnotation>

ForRename(ITable)

public virtual IEnumerable<IAnnotation> ForRename(ITable table)

Parameters

table ITable

Returns

IEnumerable<IAnnotation>

ForRename(ITableIndex)

public virtual IEnumerable<IAnnotation> ForRename(ITableIndex index)

Parameters

index ITableIndex

Returns

IEnumerable<IAnnotation>