Table of Contents

Namespace Microsoft.EntityFrameworkCore.Metadata.Conventions

Classes

BackingFieldAttributeConvention

A convention that configures a property as having a backing field based on the Microsoft.EntityFrameworkCore.BackingFieldAttribute attribute.

BackingFieldConvention

A convention that finds backing fields for properties based on their names:

  • <[property name]>k__BackingField
  • _[camel-cased property name]
  • _[property name]
  • m_[camel-cased property name]
  • m_[property name]
  • [property name]_
BaseTypeDiscoveryConvention

A convention that finds base and derived entity types that are already part of the model based on the associated CLR type hierarchy.

CascadeDeleteConvention

A convention that sets the delete behavior to Microsoft.EntityFrameworkCore.DeleteBehavior.Cascade for required foreign keys and Microsoft.EntityFrameworkCore.DeleteBehavior.ClientSetNull for optional ones.

ChangeTrackingStrategyConvention

A convention that sets a flag on the model to always skip detecting changes if no entity type is using the Snapshot strategy.

ComplexPropertyDiscoveryConvention

A convention that configures relationships between entity types based on the navigation properties as long as there is no ambiguity as to which is the corresponding inverse navigation.

ComplexTypeAttributeConvention

A convention that configures types that have the ComplexTypeAttribute.

ConcurrencyCheckAttributeConvention

A convention that configures a property as a concurrency token if it has the ConcurrencyCheckAttribute.

ConstructorBindingConvention

A convention that binds entity type constructor parameters to existing properties and service properties based on their names:

  • [parameter name]
  • [pascal-cased parameter name]
  • _[parameter name]
  • _[pascal-cased parameter name]
  • m_[parameter name]
  • m_[pascal-cased parameter name]
ConventionSet

Represents a set of conventions used to build a model.

DatabaseGeneratedAttributeConvention

A convention that configures a property as OnAdd if Identity is specified, OnAddOrUpdate if Computed is specified or Never if None is specified using a DatabaseGeneratedAttribute.

DbSetFindingConvention

A convention that adds entity types based on the DbSet<TEntity> properties defined on the derived DbContext class.

DeleteBehaviorAttributeConvention

A convention that configures the delete behavior based on the Microsoft.EntityFrameworkCore.DeleteBehaviorAttribute applied on the property.

DiscriminatorConvention

A convention that configures the discriminator value for entity types in a hierarchy as the entity type name.

ElementMappingConvention

A convention that ensures property mappings have any ElementMapping discovered by the type mapper.

ElementTypeChangedConvention

A convention that reacts to changes made to element types of primitive collections.

EntityTypeConfigurationAttributeConvention

A convention that applies the entity type configuration specified in Microsoft.EntityFrameworkCore.EntityTypeConfigurationAttribute.

ForeignKeyAttributeConvention

A convention that configures the foreign key properties associated with a navigation property based on the ForeignKeyAttribute specified on the properties or the navigation properties.

ForeignKeyIndexConvention

A convention that creates indexes on foreign key properties unless they are already covered by existing indexes or keys.

ForeignKeyPropertyDiscoveryConvention

A convention that finds foreign key properties for relationships based on their names, ignoring case:

  • [navigation property name][principal key property name]
  • [navigation property name]Id
  • [principal entity name][principal key property name]
  • [principal entity name]Id
IndexAttributeConvention

A convention that configures database indexes based on the Microsoft.EntityFrameworkCore.IndexAttribute.

InversePropertyAttributeConvention

A convention that configures the inverse navigation property based on the InversePropertyAttribute specified on the other navigation property.

KeyAttributeConvention

A convention that configures the entity type key based on the KeyAttribute specified on a property or Microsoft.EntityFrameworkCore.PrimaryKeyAttribute specified on a CLR type.

KeyDiscoveryConvention

A convention that finds primary key property for the entity type based on the names, ignoring case:

  • Id
  • [entity name]Id
KeylessAttributeConvention

A convention that ignores entity types that have the Microsoft.EntityFrameworkCore.KeylessAttribute.

ManyToManyJoinEntityTypeConvention

A convention which looks for matching skip navigations and automatically creates a many-to-many join entity with suitable foreign keys, sets the two matching skip navigations to use those foreign keys.

MaxLengthAttributeConvention

A convention that configures the maximum length based on the MaxLengthAttribute applied on the property.

ModelCleanupConvention

A convention that removes any state that is only used during model building.

NavigationAttributeConventionBase<TAttribute>

A base type for conventions that perform configuration based on an attribute applied to a navigation.

NavigationBackingFieldAttributeConvention

A convention that configures a navigation property as having a backing field based on the Microsoft.EntityFrameworkCore.BackingFieldAttribute attribute.

NavigationEagerLoadingConvention

A convention that configures the navigations to owned entity types as eager loaded.

NonNullableConventionBase

A base type for conventions that configure model aspects based on whether the member type is a non-nullable reference type.

NonNullableNavigationConvention

A convention that configures the non-nullable navigations to principal entity type as required.

NonNullableReferencePropertyConvention

A convention that configures the properties of non-nullable types as required.

NotMappedMemberAttributeConvention

A convention that ignores members on entity types that have the NotMappedAttribute.

NotMappedTypeAttributeConvention

A convention that ignores entity types that have the NotMappedAttribute.

OwnedAttributeConvention

A convention that configures the entity types that have the Microsoft.EntityFrameworkCore.OwnedAttribute as owned.

PrecisionAttributeConvention

A convention that configures the Precision based on the Microsoft.EntityFrameworkCore.PrecisionAttribute applied on the property.

PropertyAttributeConventionBase<TAttribute>

A base type for conventions that perform configuration based on an attribute applied to a property.

PropertyDiscoveryConvention

A convention that adds properties to entity types corresponding to scalar public properties on the CLR type.

QueryFilterRewritingConvention

Convention that converts accesses of DbSet<TEntity> inside query filters into EntityQueryRootExpression. This makes them consistent with how DbSet accesses in the actual queries are represented, which allows for easier processing in the query pipeline.

QueryFilterRewritingConvention.DbSetAccessRewritingExpressionVisitor

A visitor that rewrites DbSet accesses encountered in an expression to EntityQueryRootExpression.

RelationshipDiscoveryConvention

A convention that configures relationships between entity types based on the navigation properties as long as there is no ambiguity as to which is the corresponding inverse navigation.

RequiredNavigationAttributeConvention

A convention that configures the principal side of the relationship as required if the RequiredAttribute is applied on the navigation property to the principal entity type.

RequiredPropertyAttributeConvention

A convention that configures properties as required if they have the RequiredAttribute applied.

RuntimeModelConvention

A convention that creates an optimized copy of the mutable model. This convention is typically implemented by database providers to update provider annotations when creating a read-only model.

RuntimeModelConvention.QueryRootRewritingExpressionVisitor

A visitor that rewrites EntityQueryRootExpression encountered in an expression to use a different entity type.

ServicePropertyDiscoveryConvention

A convention that adds service properties to entity types.

StringLengthAttributeConvention

A convention that configures the maximum length based on the StringLengthAttribute applied on the property.

TimestampAttributeConvention

A convention that configures the property as a concurrency token if a TimestampAttribute is applied to it.

TypeAttributeConventionBase<TAttribute>

A base type for conventions that perform configuration based on an attribute specified on a structural type.

UnicodeAttributeConvention

A convention that configures the Unicode based on the Microsoft.EntityFrameworkCore.UnicodeAttribute applied on the property.

ValueGenerationConvention

A convention that configures store value generation as OnAdd on properties that are part of the primary key and not part of any foreign keys.

Interfaces

IComplexPropertyAddedConvention

Represents an operation that should be performed when a complex property is added to an type-like object.

IComplexPropertyAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on a complex property.

IComplexPropertyFieldChangedConvention

Represents an operation that should be performed when the backing field for a complex property is changed.

IComplexPropertyNullabilityChangedConvention

Represents an operation that should be performed when the nullability for a complex property is changed.

IComplexPropertyRemovedConvention

Represents an operation that should be performed when a complex property is removed from a type-like object.

IComplexTypeAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on a complex type.

IComplexTypeMemberIgnoredConvention

Represents an operation that should be performed when a complex type member is ignored.

IConvention

This is the base interface for all convention interfaces, it should not be implemented directly.

IConventionBatch

Represents an object that delays any convention invocations until it is run or disposed.

IConventionContext

Contextual information associated with each convention call.

IConventionContext<TMetadata>

Contextual information associated with each convention call.

IDiscriminatorPropertySetConvention

Represents an operation that should be performed when a discriminator property is set for an entity type.

IElementTypeAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on the elements of a collection property.

IElementTypeNullabilityChangedConvention

Represents an operation that should be performed when the nullability on the elements of a collection property has changed.

IEntityTypeAddedConvention

Represents an operation that should be performed when an entity type is added to the model.

IEntityTypeAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on an entity type.

IEntityTypeBaseTypeChangedConvention

Represents an operation that should be performed when the base type of an entity type changes.

IEntityTypeIgnoredConvention

Represents an operation that should be performed when an entity type is ignored.

IEntityTypeMemberIgnoredConvention

Represents an operation that should be performed when an entity type member is ignored.

IEntityTypePrimaryKeyChangedConvention

Represents an operation that should be performed when the primary key for an entity type is changed.

IEntityTypeRemovedConvention

Represents an operation that should be performed when an entity type is removed from the model.

IForeignKeyAddedConvention

Represents an operation that should be performed when a foreign key is added to the entity type.

IForeignKeyAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on a foreign key.

IForeignKeyDependentRequirednessChangedConvention

Represents an operation that should be performed when the dependent requiredness for a foreign key is changed.

IForeignKeyNullNavigationSetConvention

Represents an operation that should be performed when a navigation is set to null on a foreign key.

IForeignKeyOwnershipChangedConvention

Represents an operation that should be performed when the ownership value for a foreign key is changed.

IForeignKeyPrincipalEndChangedConvention

Represents an operation that should be performed when the principal end of a foreign key is changed.

IForeignKeyPropertiesChangedConvention

Represents an operation that should be performed when the foreign key properties or principal key are changed.

IForeignKeyRemovedConvention

Represents an operation that should be performed when a foreign key is removed.

IForeignKeyRequirednessChangedConvention

Represents an operation that should be performed when the requiredness for a foreign key is changed.

IForeignKeyUniquenessChangedConvention

Represents an operation that should be performed when the uniqueness for a foreign key is changed.

IIndexAddedConvention

Represents an operation that should be performed when an index is added to the entity type.

IIndexAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on an index.

IIndexRemovedConvention

Represents an operation that should be performed when an index is removed from the entity type.

IIndexSortOrderChangedConvention

Represents an operation that should be performed when the sort order of an index is changed.

IIndexUniquenessChangedConvention

Represents an operation that should be performed when the uniqueness for an index is changed.

IKeyAddedConvention

Represents an operation that should be performed when a key is added to the entity type.

IKeyAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on a key.

IKeyRemovedConvention

Represents an operation that should be performed when a key is removed.

IModelAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on a model.

IModelFinalizedConvention

Represents an operation that should be performed after a model is finalized and can no longer be mutated.

IModelFinalizingConvention

Represents an operation that should be performed when a model is being finalized.

IModelInitializedConvention

Represents an operation that should be performed when a model is initialized.

INavigationAddedConvention

Represents an operation that should be performed when a navigation is added to the entity type.

INavigationAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on a navigation.

INavigationRemovedConvention

Represents an operation that should be performed when a navigation is removed from the entity type.

IPropertyAddedConvention

Represents an operation that should be performed when a property is added to the entity type.

IPropertyAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on a property.

IPropertyElementTypeChangedConvention

Represents an operation that should be performed when the IElementType for a property is changed.

IPropertyFieldChangedConvention

Represents an operation that should be performed when the backing field for a property is changed.

IPropertyNullabilityChangedConvention

Represents an operation that should be performed when the nullability for a property is changed.

IPropertyRemovedConvention

Represents an operation that should be performed when a property is removed from the entity type.

ISkipNavigationAddedConvention

Represents an operation that should be performed when a skip navigation is added to the entity type.

ISkipNavigationAnnotationChangedConvention

Represents an operation that should be performed when an annotation is changed on a skip navigation.

ISkipNavigationForeignKeyChangedConvention

Represents an operation that should be performed when a skip navigation foreign key is changed.

ISkipNavigationInverseChangedConvention

Represents an operation that should be performed when a skip navigation inverse is changed.

ISkipNavigationRemovedConvention

Represents an operation that should be performed when a skip navigation is removed from the entity type.

ITriggerAddedConvention

Represents an operation that should be performed when a trigger is added to the entity type.

ITriggerRemovedConvention

Represents an operation that should be performed when a trigger is removed from the entity type.

ITypeIgnoredConvention

Represents an operation that should be performed when a type is ignored.