Microsoft.EntityFrameworkCore.Metadata Namespace

Classes

CheckConstraintExtensions

Extension methods for ICheckConstraint.

ColumnExtensions

Extension methods for IColumn.

ColumnMappingExtensions

Extension methods for IColumnMapping.

ConfigurationSourceExtensions

Provides extension methods for ConfigurationSource

ConstructorBinding

Defines the binding of parameters to a CLR ConstructorInfo for an entity type.

ContextParameterBinding

Describes the binding of a DbContext, which may or may not also have and associated IServiceProperty, to a parameter in a constructor, factory method, or similar.

DbFunctionExtensions

Extension methods for IDbFunction.

DbFunctionParameterExtensions

Extension methods for IDbFunctionParameter.

DependencyInjectionMethodParameterBinding

Describes the binding from a method on an EF internal dependency injection service, which may or may not also have and associated IServiceProperty, to a parameter in a constructor, factory method, or similar.

DependencyInjectionParameterBinding

Describes the binding from an EF internal dependency injection service, which may or may not also have and associated IServiceProperty, to a parameter in a constructor, factory method, or similar.

EntityTypeFullNameComparer

An implementation of IComparer<T> and IEqualityComparer<T> to compare IEntityType instances by name including the defining entity type when present.

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

EntityTypeParameterBinding

Describes the binding of a IEntityType, which may or may not also have and associated IServiceProperty, to a parameter in a constructor, factory method, or similar.

FactoryMethodBinding

Defines the binding of parameters to a factory method.

ForeignKeyComparer

An implementation of IComparer<T> and IEqualityComparer<T> to compare IForeignKey instances.

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

ForeignKeyConstraintExtensions

Extension methods for IForeignKeyConstraint.

FunctionColumnExtensions

Extension methods for IFunctionColumn.

FunctionColumnMappingExtensions

Extension methods for IFunctionColumnMapping.

FunctionMappingExtensions

Extension methods for IFunctionMapping.

IndexComparer

An implementation of IComparer<T> and IEqualityComparer<T> to compare IIndex instances.

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

InstantiationBinding

Defines how to create an entity instance through the binding of EF model properties to, for example, constructor parameters or parameters of a factory method.

KeyComparer

An implementation of IComparer<T> and IEqualityComparer<T> to compare IKey instances.

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

LazyLoaderParameterBindingFactory

A IParameterBindingFactory for binding to the Microsoft.EntityFrameworkCore.Metadata.LazyLoaderParameterBindingFactory.IsLazyLoader(System.Type) service.

The service lifetime is Singleton and multiple registrations are allowed. This means a single instance of each service is used by many DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

LazyLoaderParameterBindingFactoryDependencies

Service dependencies parameter class for LazyLoaderParameterBindingFactory

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 Singleton and multiple registrations are allowed. This means a single instance of each service is used by many DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

ObjectArrayParameterBinding

Describes the binding from many EF model properties, dependency injection services, or metadata types to a new array of objects suitable for passing to a general purpose factory method such as is often used for creating proxies.

ParameterBinding

Describes the binding from one or many EF model properties, dependency injection services, or metadata types to a parameter in a constructor, factory method, or similar.

PropertyParameterBinding

Describes the binding from an IProperty to a parameter in a constructor, factory method, or similar.

RelationalAnnotationNames

Names for well-known relational model annotations. Applications should not use these names directly, but should instead use the extension methods on metadata objects.

RelationalAnnotationProvider

A base class inherited by database providers that gives access to annotations used by relational EF Core components on various elements of the IModel.

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

RelationalAnnotationProviderDependencies

Service dependencies parameter class for RelationalAnnotationProvider

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 Singleton. This means a single instance of each service is used by many DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

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.

RelationalAnnotations

Base class for helpers that can handle setting annotations when used with conventions that may or may not be able to override an annotation that has already been set.

RelationalEntityTypeAnnotations

Properties for relational-specific annotations accessed through Relational(IMutableEntityType).

RelationalForeignKeyAnnotations

Properties for relational-specific annotations accessed through Relational(IMutableForeignKey).

RelationalIndexAnnotations

Properties for relational-specific annotations accessed through Relational(IMutableIndex).

RelationalKeyAnnotations

Properties for relational-specific annotations accessed through Relational(IMutableKey).

RelationalModelAnnotations

Properties for relational-specific annotations accessed through Relational(IMutableModel).

RelationalPropertyAnnotations

Properties for relational-specific annotations accessed through Relational(IMutableProperty).

RelationalPropertyExtensions

Extension methods for IProperty for relational database metadata.

RelationalSequenceBuilder
ScaffoldingMetadataExtensions
Sequence
SequenceBuilder

A fluent API builder for ISequence objects.

SequenceExtensions

Extension methods for ISequence.

ServiceParameterBinding

Describes the binding from an EF dependency injection service, or metadata type, which may or may not also have and associated IServiceProperty, to a parameter in a constructor, factory method, or similar.

ServiceParameterBindingFactory

A IParameterBindingFactory for binding to dependency-injected services.

The service lifetime is Singleton and multiple registrations are allowed. This means a single instance of each service is used by many DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

SimpleModelFactory

Creates instances of IMutableModel that have no conventions. This is useful when Exhaustively configuring a model based on some existing metadata.

This is typically not used in application code since building a model by overriding OnModelCreating(ModelBuilder) or using ModelBuilder directly is much easier.

SqlitePropertyAnnotations

Properties for SQLite-specific annotations accessed through Sqlite(IMutableProperty).

SqlQueryColumnExtensions

Extension methods for ISqlQueryColumn.

SqlQueryColumnMappingExtensions

Extension methods for ISqlQueryColumnMapping.

SqlQueryExtensions

Extension methods for ISqlQuery.

SqlQueryMappingExtensions

Extension methods for ISqlQueryMapping.

SqlServerAnnotationProvider
SqlServerEntityTypeAnnotations

Properties for relational-specific annotations accessed through SqlServer(IMutableEntityType).

SqlServerIndexAnnotations

Properties for relational-specific annotations accessed through SqlServer(IMutableIndex).

SqlServerKeyAnnotations

Properties for relational-specific annotations accessed through SqlServer(IMutableKey).

SqlServerModelAnnotations

Properties for relational-specific annotations accessed through SqlServer(IMutableModel).

SqlServerPropertyAnnotations

Properties for SQL Server-specific annotations accessed through SqlServer(IMutableProperty).

StoreFunctionExtensions

Extension methods for IStoreFunction.

StoreFunctionParameterExtensions

Extension methods for IStoreFunctionParameter.

TableExtensions

Extension methods for ITable.

TableIndexExtensions

Extension methods for ITableIndex.

TableMappingExtensions

Extension methods for ITableMapping.

UniqueConstraintExtensions

Extension methods for IUniqueConstraint.

ViewColumnExtensions

Extension methods for IViewColumn.

ViewColumnMappingExtensions

Extension methods for IViewColumnMapping.

ViewExtensions

Extension methods for IView.

ViewMappingExtensions

Extension methods for IViewMapping.

Structs

MemberIdentity

Represents the identity of an entity type member, can be based on MemberInfo or just the name.

ParameterBindingInfo

Carries information about a parameter binding.

StoreObjectIdentifier

A type that represents the id of a store object

Interfaces

ICheckConstraint

Represents a check constraint in the IEntityType.

IClrCollectionAccessor

Represents operations backed by compiled delegates that allow manipulation of collections on navigation properties.

IClrPropertyGetter

Represents operations backed by compiled delegates that support getting the value of a mapped EF property.

IClrPropertySetter

Represents operations backed by compiled delegates that support setting the value of a mapped EF property.

IColumn

Represents a column in a table.

IColumnBase

Represents a column-like object in a table-like object.

IColumnMapping

Represents property mapping to a column.

IColumnMappingBase

Represents property mapping to a column-like object.

IConstructorBindingFactory

A factory for finding and creating InstantiationBinding instances for a given CLR constructor.

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

IConventionAnnotatable

A class that exposes annotations that can be modified. Annotations allow for arbitrary metadata to be stored on an object.

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

IConventionAnnotation

An arbitrary piece of metadata that can be stored on an object that implements IConventionAnnotatable.

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

IConventionCheckConstraint

Represents a check constraint in the IConventionEntityType.

IConventionDbFunction

Represents a relational database function in an IConventionModel in the a form that can be mutated while the model is being built.

IConventionDbFunctionParameter

Represents a IConventionDbFunction parameter.

IConventionDbFunctionParameterBuilder

Provides a simple API for configuring a IConventionDbFunctionParameter.

IConventionEntityType

Represents an entity in an IConventionModel.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IEntityType represents a read-only view of the same metadata.

IConventionForeignKey

Represents a relationship where a foreign key property(s) in a dependent entity type reference a corresponding primary or alternate key in a principal entity type.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IForeignKey represents a read-only view of the same metadata.

IConventionIndex

Represents an index on a set of properties.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IIndex represents a read-only view of the same metadata.

IConventionKey

Represents a primary or alternate key on an entity.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IKey represents a read-only view of the same metadata.

IConventionModel

Metadata about the shape of entities, the relationships between them, and how they map to the database. A model is typically created by overriding the OnModelCreating(ModelBuilder) method on a derived DbContext.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IModel represents a read-only view of the same metadata.

IConventionNavigation

Represents a navigation property which can be used to navigate a relationship.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, INavigation represents a read-only view of the same metadata.

IConventionNavigationBase

Represents a navigation property which can be used to navigate a relationship.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, INavigationBase represents a read-only view of the same metadata.

IConventionProperty

Represents a scalar property of an entity.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IProperty represents a read-only view of the same metadata.

IConventionPropertyBase

Base type for navigation and scalar properties.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IPropertyBase represents a read-only view of the same metadata.

IConventionSequence

Represents a database sequence in the IConventionModel in a form that can be mutated while building the model.

IConventionServiceProperty

A IPropertyBase in the Entity Framework model that represents an injected service from the DbContext.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IServiceProperty represents a read-only view of the same metadata.

IConventionSkipNavigation

Represents a navigation property that is part of a relationship that is forwarded through a third entity type.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, ISkipNavigation represents a read-only view of the same metadata.

IConventionTypeBase

Represents a type in an IConventionModel.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, ITypeBase represents a read-only view of the same metadata.

IDbFunction

Represents a relational database function in an IModel.

IDbFunctionParameter

Represents a IDbFunction parameter.

IEntityType

Represents an entity type in an IModel.

IForeignKey

Represents a relationship where a foreign key property(s) in a dependent entity type reference a corresponding primary or alternate key in a principal entity type.

IForeignKeyConstraint

Represents a foreign key constraint.

IFunctionColumn

Represents a column in a table-valued function.

IFunctionColumnMapping

Represents property mapping to a column.

IFunctionMapping

Represents entity type mapping to a function.

IIndex

Represents an index on a set of properties.

IKey

Represents a primary or alternate key on an entity.

IMetadataReference<T>

Represents a reference to a metadata object. If the metadata object instance is replaced this will be updated with the new object.

IModel

Metadata about the shape of entities, the relationships between them, and how they map to the database. A model is typically created by overriding the OnModelCreating(ModelBuilder) method on a derived DbContext.

The service lifetime is Scoped. This means that each 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.

IMutableAnnotatable

A class that exposes annotations that can be modified. Annotations allow for arbitrary metadata to be stored on an object.

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

IMutableCheckConstraint

Represents a check constraint in the IMutableEntityType.

IMutableDbFunction

Represents a relational database function in an IMutableModel in the a form that can be mutated while the model is being built.

IMutableDbFunctionParameter

Represents a IMutableDbFunction parameter.

IMutableEntityType

Represents an entity in an IMutableModel.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IEntityType represents a read-only view of the same metadata.

IMutableForeignKey

Represents a relationship where a foreign key property(s) in a dependent entity type reference a corresponding primary or alternate key in a principal entity type.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IForeignKey represents a read-only view of the same metadata.

IMutableIndex

Represents an index on a set of properties.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IIndex represents a read-only view of the same metadata.

IMutableKey

Represents a primary or alternate key on an entity.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IKey represents a read-only view of the same metadata.

IMutableModel

Metadata about the shape of entities, the relationships between them, and how they map to the database. A model is typically created by overriding the OnModelCreating(ModelBuilder) method on a derived DbContext.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IModel represents a read-only view of the same metadata.

IMutableNavigation

Represents a navigation property which can be used to navigate a relationship.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, INavigation represents a read-only view of the same metadata.

IMutableNavigationBase

Represents a navigation property which can be used to navigate a relationship.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, INavigationBase represents a read-only view of the same metadata.

IMutableProperty

Represents a scalar property of an entity.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IProperty represents a read-only view of the same metadata.

IMutablePropertyBase

Base type for navigation and scalar properties.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IPropertyBase represents a read-only view of the same metadata.

IMutableSequence

Represents a database sequence in the IMutableModel in a form that can be mutated while building the model.

IMutableServiceProperty

A IPropertyBase in the Entity Framework model that represents an injected service from the DbContext.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IServiceProperty represents a read-only view of the same metadata.

IMutableSkipNavigation

Represents a navigation property that is part of a relationship that is forwarded through a third entity type.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, ISkipNavigation represents a read-only view of the same metadata.

IMutableTypeBase

Represents a type in an IMutableModel.

This interface is used during model creation and allows the metadata to be modified. Once the model is built, ITypeBase represents a read-only view of the same metadata.

INavigation

Represents a navigation property which can be used to navigate a relationship.

INavigationBase

Represents a navigation property which can be used to navigate a relationship.

IParameterBindingFactories

Allows a IParameterBindingFactory to be found from those registered in the internal service provider.

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

IParameterBindingFactory

Factory for finding and creating ParameterBinding instances.

The service lifetime is Singleton and multiple registrations are allowed. This means a single instance of each service is used by many DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

IPrimaryKeyConstraint

Represents a primary key constraint.

IProperty

Represents a scalar property of an entity.

IPropertyBase

Base type for navigation and scalar properties.

IPropertyParameterBindingFactory

Finds a ParameterBinding specifically for some form of property (that is, some IPropertyBase) of the model.

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

IRelationalAnnotationProvider

A service typically implemented by database providers that gives access to annotations used by relational EF Core components on various elements of the IModel.

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

IRelationalEntityTypeAnnotations

Properties for relational-specific annotations accessed through Relational(IEntityType).

IRelationalForeignKeyAnnotations

Properties for relational-specific annotations accessed through Relational(IForeignKey).

IRelationalIndexAnnotations

Properties for relational-specific annotations accessed through Relational(IIndex).

IRelationalKeyAnnotations

Properties for relational-specific annotations accessed through Relational(IKey).

IRelationalModel

Represents a relational database.

IRelationalModelAnnotations

API for relational-specific annotations accessed through Relational(IModel).

IRelationalPropertyAnnotations

Properties for relational-specific annotations accessed through Relational(IProperty).

ISequence

Represents a database sequence in the IModel.

IServiceProperty

A IPropertyBase in the Entity Framework model that represents an injected service from the DbContext.

ISkipNavigation

Represents a navigation property that is part of a relationship that is forwarded through a third entity type.

ISqlitePropertyAnnotations

API for SQLite-specific annotations accessed through Sqlite(IProperty).

ISqlQuery

Represents a SQL query string.

ISqlQueryColumn

Represents a column in a SQL query.

ISqlQueryColumnMapping

Represents property mapping to a SQL query column.

ISqlQueryMapping

Represents entity type mapping to a SQL query.

ISqlServerEntityTypeAnnotations

Properties for relational-specific annotations accessed through SqlServer(IEntityType).

ISqlServerIndexAnnotations

Properties for relational-specific annotations accessed through SqlServer(IIndex).

ISqlServerKeyAnnotations

Properties for relational-specific annotations accessed through SqlServer(IKey).

ISqlServerModelAnnotations

API for SQL Server-specific annotations accessed through SqlServer(IModel).

ISqlServerPropertyAnnotations

API for SQL Server-specific annotations accessed through SqlServer(IProperty).

IStoreFunction

Represents a function in the database.

IStoreFunctionParameter

Represents a IStoreFunction parameter.

ITable

Represents a table in the database.

ITableBase

Represents a table-like object in the database.

ITableIndex

Represents a table index.

ITableMapping

Represents entity type mapping to a table.

ITableMappingBase

Represents entity type mapping to a table-like object.

ITypeBase

Represents a type in an IModel.

IUniqueConstraint

Represents a unique constraint.

IView

Represents a view in the database.

IViewColumn

Represents a column in a view.

IViewColumnMapping

Represents property mapping to a column.

IViewMapping

Represents entity type mapping to a view.

Enums

ChangeTrackingStrategy

Indicates how the context detects changes to properties for an instance of the entity type.

ConfigurationSource

Indicates whether an element in the IMutableModel was specified explicitly using the fluent API in OnModelCreating(ModelBuilder), through use of a .NET attribute (data annotation), or by convention via the EF Core model building conventions.

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

DeleteBehavior

Indicates how a delete operation is applied to dependent entities in a relationship when the principal is deleted or the relationship is severed.

PropertyAccessMode

Pass a value from this enum to UsePropertyAccessMode(PropertyAccessMode), UsePropertyAccessMode(PropertyAccessMode), or UsePropertyAccessMode(PropertyAccessMode) to change whether the property or backing field will be used when reading and writing to a property or field.

If no access mode is set, then the backing field for a property will be used if possible when constructing new instances of the entity. The property getter or setter will be used, if possible, for all other accesses of the property. Note that when it is not possible to use the field because it could not be found by convention and was not specified using HasField(String), then the property will be used instead. Likewise, when it is not possible to use the property getter or setter, for example when the property is read-only, then the field will be used instead.

PropertySaveBehavior

Indicates how changes to the value of a property will be handled by Entity Framework change tracking which in turn will determine whether the value set is sent to the database or not. Used with GetBeforeSaveBehavior(IProperty) and GetAfterSaveBehavior(IProperty)

SqlServerValueGenerationStrategy

Defines two strategies to use across the EF Core stack when generating key values from SQL Server database columns.

StoreObjectType

The table-like store object type.

ValueGenerated

Indicates when a value for a property will be generated by the database.

Even when a property is set to be generated by the database, EF may still attempt to save a specific value (rather than having one generated by the database) when an entity is added and a value is assigned, or the property is marked as modified for an existing entity. See PropertySaveBehavior for more details.