Table of Contents

Class MigrationsModelDiffer

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

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.

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 class MigrationsModelDiffer : IMigrationsModelDiffer
Inheritance
MigrationsModelDiffer
Implements
Inherited Members

Constructors

MigrationsModelDiffer(IRelationalTypeMappingSource, IMigrationsAnnotationProvider, IChangeDetector, IUpdateAdapterFactory, CommandBatchPreparerDependencies)

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 MigrationsModelDiffer(IRelationalTypeMappingSource typeMappingSource, IMigrationsAnnotationProvider migrationsAnnotations, IChangeDetector changeDetector, IUpdateAdapterFactory updateAdapterFactory, CommandBatchPreparerDependencies commandBatchPreparerDependencies)

Parameters

typeMappingSource IRelationalTypeMappingSource
migrationsAnnotations IMigrationsAnnotationProvider
changeDetector IChangeDetector
updateAdapterFactory IUpdateAdapterFactory
commandBatchPreparerDependencies CommandBatchPreparerDependencies

Properties

ChangeDetector

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.

protected virtual IChangeDetector ChangeDetector { get; }

Property Value

IChangeDetector

CommandBatchPreparerDependencies

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.

protected virtual CommandBatchPreparerDependencies CommandBatchPreparerDependencies { get; }

Property Value

CommandBatchPreparerDependencies

MigrationsAnnotations

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.

protected virtual IMigrationsAnnotationProvider MigrationsAnnotations { get; }

Property Value

IMigrationsAnnotationProvider

TypeMappingSource

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.

protected virtual IRelationalTypeMappingSource TypeMappingSource { get; }

Property Value

IRelationalTypeMappingSource

UpdateAdapterFactory

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.

protected virtual IUpdateAdapterFactory UpdateAdapterFactory { get; }

Property Value

IUpdateAdapterFactory

Methods

Add(ICheckConstraint, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Add(ICheckConstraint target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

target ICheckConstraint
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Add(IColumn, DiffContext, bool)

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.

protected virtual IEnumerable<MigrationOperation> Add(IColumn target, MigrationsModelDiffer.DiffContext diffContext, bool inline = false)

Parameters

target IColumn
diffContext MigrationsModelDiffer.DiffContext
inline bool

Returns

IEnumerable<MigrationOperation>

Add(IForeignKeyConstraint, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Add(IForeignKeyConstraint target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

target IForeignKeyConstraint
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Add(IRelationalModel, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Add(IRelationalModel target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

target IRelationalModel
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Add(ISequence, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Add(ISequence target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

target ISequence
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Add(ITable, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Add(ITable target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

target ITable
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Add(ITableIndex, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Add(ITableIndex target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

target ITableIndex
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Add(IUniqueConstraint, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Add(IUniqueConstraint target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

target IUniqueConstraint
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Add(string, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Add(string target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

target string
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(ICheckConstraint, ICheckConstraint, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(ICheckConstraint source, ICheckConstraint target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source ICheckConstraint
target ICheckConstraint
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IColumn, IColumn, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IColumn source, IColumn target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IColumn
target IColumn
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IForeignKeyConstraint, IForeignKeyConstraint, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IForeignKeyConstraint source, IForeignKeyConstraint target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IForeignKeyConstraint
target IForeignKeyConstraint
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IRelationalModel, IRelationalModel, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IRelationalModel source, IRelationalModel target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IRelationalModel
target IRelationalModel
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(ISequence, ISequence, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(ISequence source, ISequence target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source ISequence
target ISequence
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(ITable, ITable, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(ITable source, ITable target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source ITable
target ITable
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(ITableIndex, ITableIndex, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(ITableIndex source, ITableIndex target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source ITableIndex
target ITableIndex
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IUniqueConstraint, IUniqueConstraint, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IUniqueConstraint source, IUniqueConstraint target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IUniqueConstraint
target IUniqueConstraint
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IEnumerable<ICheckConstraint>, IEnumerable<ICheckConstraint>, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IEnumerable<ICheckConstraint> source, IEnumerable<ICheckConstraint> target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IEnumerable<ICheckConstraint>
target IEnumerable<ICheckConstraint>
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IEnumerable<IColumn>, IEnumerable<IColumn>, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IEnumerable<IColumn> source, IEnumerable<IColumn> target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IEnumerable<IColumn>
target IEnumerable<IColumn>
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IEnumerable<IForeignKeyConstraint>, IEnumerable<IForeignKeyConstraint>, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IEnumerable<IForeignKeyConstraint> source, IEnumerable<IForeignKeyConstraint> target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IEnumerable<IForeignKeyConstraint>
target IEnumerable<IForeignKeyConstraint>
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IEnumerable<ISequence>, IEnumerable<ISequence>, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IEnumerable<ISequence> source, IEnumerable<ISequence> target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IEnumerable<ISequence>
target IEnumerable<ISequence>
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IEnumerable<ITableIndex>, IEnumerable<ITableIndex>, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IEnumerable<ITableIndex> source, IEnumerable<ITableIndex> target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IEnumerable<ITableIndex>
target IEnumerable<ITableIndex>
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IEnumerable<ITable>, IEnumerable<ITable>, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IEnumerable<ITable> source, IEnumerable<ITable> target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IEnumerable<ITable>
target IEnumerable<ITable>
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IEnumerable<IUniqueConstraint>, IEnumerable<IUniqueConstraint>, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IEnumerable<IUniqueConstraint> source, IEnumerable<IUniqueConstraint> target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IEnumerable<IUniqueConstraint>
target IEnumerable<IUniqueConstraint>
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(IEnumerable<string>, IEnumerable<string>, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(IEnumerable<string> source, IEnumerable<string> target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IEnumerable<string>
target IEnumerable<string>
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Diff(string, string, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Diff(string source, string target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source string
target string
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

DiffCollection<T>(IEnumerable<T>, IEnumerable<T>, DiffContext, Func<T, T, DiffContext, IEnumerable<MigrationOperation>>, Func<T, DiffContext, IEnumerable<MigrationOperation>>, Func<T, DiffContext, IEnumerable<MigrationOperation>>, params Func<T, T, DiffContext, bool>[])

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.

protected virtual IEnumerable<MigrationOperation> DiffCollection<T>(IEnumerable<T> sources, IEnumerable<T> targets, MigrationsModelDiffer.DiffContext diffContext, Func<T, T, MigrationsModelDiffer.DiffContext, IEnumerable<MigrationOperation>> diff, Func<T, MigrationsModelDiffer.DiffContext, IEnumerable<MigrationOperation>> add, Func<T, MigrationsModelDiffer.DiffContext, IEnumerable<MigrationOperation>> remove, params Func<T, T, MigrationsModelDiffer.DiffContext, bool>[] predicates)

Parameters

sources IEnumerable<T>
targets IEnumerable<T>
diffContext MigrationsModelDiffer.DiffContext
diff Func<T, T, MigrationsModelDiffer.DiffContext, IEnumerable<MigrationOperation>>
add Func<T, MigrationsModelDiffer.DiffContext, IEnumerable<MigrationOperation>>
remove Func<T, MigrationsModelDiffer.DiffContext, IEnumerable<MigrationOperation>>
predicates Func<T, T, DiffContext, bool>[]

Returns

IEnumerable<MigrationOperation>

Type Parameters

T

DiffData(IRelationalModel, IRelationalModel, DiffContext)

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.

protected virtual Dictionary<IEntityType, List<ITable>> DiffData(IRelationalModel source, IRelationalModel target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IRelationalModel
target IRelationalModel
diffContext MigrationsModelDiffer.DiffContext

Returns

Dictionary<IEntityType, List<ITable>>

GetDataOperations(IRelationalModel, IRelationalModel, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> GetDataOperations(IRelationalModel source, IRelationalModel target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IRelationalModel
target IRelationalModel
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

GetDefaultValue(Type)

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.

protected virtual object GetDefaultValue(Type type)

Parameters

type Type

Returns

object

GetDifferences(IRelationalModel, IRelationalModel)

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 virtual IReadOnlyList<MigrationOperation> GetDifferences(IRelationalModel source, IRelationalModel target)

Parameters

source IRelationalModel
target IRelationalModel

Returns

IReadOnlyList<MigrationOperation>

GetMappedProperties(ITable, string[])

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.

[Obsolete]
public static IProperty[] GetMappedProperties(ITable table, string[] names)

Parameters

table ITable
names string[]

Returns

IProperty[]

GetSchemas(IRelationalModel)

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.

protected virtual IEnumerable<string> GetSchemas(IRelationalModel model)

Parameters

model IRelationalModel

Returns

IEnumerable<string>

HasDifferences(IRelationalModel, IRelationalModel)

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 virtual bool HasDifferences(IRelationalModel source, IRelationalModel target)

Parameters

source IRelationalModel
target IRelationalModel

Returns

bool

HasDifferences(IEnumerable<IAnnotation>, IEnumerable<IAnnotation>)

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.

protected virtual bool HasDifferences(IEnumerable<IAnnotation> source, IEnumerable<IAnnotation> target)

Parameters

source IEnumerable<IAnnotation>
target IEnumerable<IAnnotation>

Returns

bool

Remove(ICheckConstraint, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Remove(ICheckConstraint source, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source ICheckConstraint
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Remove(IColumn, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Remove(IColumn source, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IColumn
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Remove(IForeignKeyConstraint, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Remove(IForeignKeyConstraint source, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IForeignKeyConstraint
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Remove(IRelationalModel, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Remove(IRelationalModel source, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IRelationalModel
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Remove(ISequence, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Remove(ISequence source, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source ISequence
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Remove(ITable, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Remove(ITable source, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source ITable
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Remove(ITableIndex, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Remove(ITableIndex source, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source ITableIndex
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Remove(IUniqueConstraint, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Remove(IUniqueConstraint source, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IUniqueConstraint
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Remove(string, DiffContext)

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.

protected virtual IEnumerable<MigrationOperation> Remove(string source, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source string
diffContext MigrationsModelDiffer.DiffContext

Returns

IEnumerable<MigrationOperation>

Sort(IEnumerable<MigrationOperation>, DiffContext)

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.

protected virtual IReadOnlyList<MigrationOperation> Sort(IEnumerable<MigrationOperation> operations, MigrationsModelDiffer.DiffContext diffContext)

Parameters

operations IEnumerable<MigrationOperation>
diffContext MigrationsModelDiffer.DiffContext

Returns

IReadOnlyList<MigrationOperation>

TrackData(IRelationalModel, IRelationalModel, DiffContext)

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.

protected virtual void TrackData(IRelationalModel source, IRelationalModel target, MigrationsModelDiffer.DiffContext diffContext)

Parameters

source IRelationalModel
target IRelationalModel
diffContext MigrationsModelDiffer.DiffContext