Microsoft.EntityFrameworkCore.Metadata.Conventions 命名空间

BackingFieldAttributeConvention

将属性配置为具有基于 特性的后备字段的 BackingFieldAttribute 约定。

BackingFieldConvention

一个约定,用于根据属性的名称查找属性的后备字段:

  • <[属性名称]>k__BackingField
  • _[camel-cased 属性名称]
  • _[属性名称]
  • m_[camel-cased 属性名称]
  • m_[属性名称]
  • [属性名称]_
BaseTypeDiscoveryConvention

一种约定,用于根据关联的 CLR 类型层次结构查找已属于模型的基实体类型和派生实体类型。

CascadeDeleteConvention

一个约定,用于将所需外键和ClientSetNull可选外键的删除行为Cascade设置为 。

ChangeTrackingStrategyConvention

一种约定,该约定将模型上的标志设置为在没有实体类型使用 Snapshot 策略时始终跳过检测更改。

CheckConstraintConvention

一个约定,可确保派生类型的检查约束与基类型上的检查约束兼容。 并确保声明类型是最新的。

ComplexPropertyDiscoveryConvention

一种约定,该约定基于导航属性配置实体类型之间的关系,前提是该实体类型是相应的反向导航。

ComplexTypeAttributeConvention

一个约定,用于配置具有 的类型 ComplexTypeAttribute

ConcurrencyCheckAttributeConvention

一个约定,该约定将属性配置为并发令牌( ConcurrencyCheckAttribute如果属性具有 )。

ConstructorBindingConvention

一个约定,用于根据实体类型构造函数参数的名称将实体类型构造函数参数绑定到现有属性和服务属性:

  • [参数名称]
  • [pascal-cased 参数名称]
  • _[参数名称]
  • _[pascal-cased 参数名称]
  • m_[参数名称]
  • m_[pascal-cased 参数名称]
ContextContainerConvention

将默认容器名称配置为上下文类型名称的约定。

ConventionSet

表示用于生成模型的一组约定。

CosmosDiscriminatorConvention

将实体类型的鉴别器值配置为实体类型名称的约定。

CosmosInversePropertyAttributeConvention

一个约定,该约定基于 InversePropertyAttribute 另一个导航属性上指定的 来配置反向导航属性。 假定所有导航都以 Cosmos 的自有实体类型为目标。

CosmosKeyDiscoveryConvention

一种约定,它基于名称查找实体类型的主键属性,并在其中添加分区键(如果存在)。

CosmosManyToManyJoinEntityTypeConvention

一种约定,用于为多对多关系创建联接实体类型,并在相关类型共享一个分区键时为其添加分区键。

CosmosRelationshipDiscoveryConvention

一种约定,该约定基于导航属性配置实体类型之间的关系,前提是该实体类型是相应的反向导航。 假定所有导航都以 Cosmos 的自有实体类型为目标。

CosmosRuntimeModelConvention

创建可变模型的优化副本的约定。 此约定通常由数据库提供程序实现,用于在创建只读模型时更新提供程序注释。

CosmosValueGenerationConvention

一种约定,将存储值生成 OnAdd 配置为属于主键的一部分,而不是任何外键的一部分或配置为具有数据库默认值的属性。

DatabaseGeneratedAttributeConvention

一个约定,该约定将属性OnAddIdentity配置为指定 ,OnAddOrUpdate如果 Computed 指定,则为 ,Never或者如果使用 None 指定,则为 DatabaseGeneratedAttribute

DbFunctionTypeMappingConvention

约定为 IDbFunction 实例配置类型映射。

DbSetFindingConvention

基于派生DbContext类上定义的属性添加实体类型的DbSet<TEntity>约定。

DefiningQueryRewritingConvention

用于将查询筛选器内部的访问 DbSet<TEntity> 和将查询 EntityQueryRootExpression定义为 的约定。 这使得它们与 DbSet 访问在实际查询中的表示方式一致,从而简化了查询管道中的处理。

DeleteBehaviorAttributeConvention

一个约定,该约定基于 DeleteBehaviorAttribute 对 属性应用的 配置删除行为。

DerivedTypeDiscoveryConvention

一种约定,用于根据关联的 CLR 类型层次结构查找已属于模型的派生实体类型。

DiscriminatorConvention

将层次结构中实体类型的鉴别器值配置为实体类型名称的约定。

DiscriminatorLengthConvention

一个约定,用于设置字符串鉴别器属性的最大长度。

ElementMappingConvention

确保属性映射具有类型映射器发现的任何 ElementMapping 的约定。

EntitySplittingConvention

一种约定,用于为实体拆分创建链接关系并管理映射片段。

EntityTypeAttributeConventionBase<TAttribute>

基于实体类型上指定的属性执行配置的约定的基类型。

EntityTypeConfigurationAttributeConvention

应用 中指定的 EntityTypeConfigurationAttribute实体类型配置的约定。

EntityTypeConfigurationEntityTypeAttributeConvention

应用 中指定的 EntityTypeConfigurationAttribute实体类型配置的约定。

EntityTypeHierarchyMappingConvention

从非 TPH 实体类型中删除鉴别器并取消映射 TPT 实体类型的继承属性的约定。

ForeignKeyAttributeConvention

一种约定,用于根据 ForeignKeyAttribute 属性或导航属性上指定的 配置与导航属性关联的外键属性。

ForeignKeyIndexConvention

对外键属性创建索引的约定,除非现有索引或键已涵盖外键属性。

ForeignKeyPropertyDiscoveryConvention

一个约定,它根据关系的名称查找外键属性,忽略大小写:

  • [导航属性名称][主体键属性名称]
  • [导航属性名称]Id
  • [主体实体名称][主体键属性名称]
  • [主体实体名称]Id
IndexAttributeConvention

基于 配置数据库索引的 IndexAttribute约定。

InheritanceDiscoveryConventionBase

继承发现约定的基类型

InversePropertyAttributeConvention

基于另一个导航属性 InversePropertyAttribute 上指定的 配置反向导航属性的约定。

KeyAttributeConvention

一种约定,该约定基于 KeyAttribute 属性上指定的 或 PrimaryKeyAttribute CLR 类型的指定来配置实体类型键。

KeyDiscoveryConvention

基于名称查找实体类型的主键属性的约定,忽略大小写:

  • ID
  • [entity name]Id
KeylessAttributeConvention

忽略具有 KeylessAttribute的实体类型的约定。

KeylessEntityTypeAttributeConvention

忽略具有 KeylessAttribute的实体类型的约定。

ManyToManyJoinEntityTypeConvention

查找匹配的跳过导航并自动创建具有适当外键的多对多联接实体的约定,将两个匹配的跳过导航设置为使用这些外键。

MaxLengthAttributeConvention

一种约定,该约定基于 MaxLengthAttribute 对 属性应用的 配置最大长度。

ModelCleanupConvention

一种约定,用于删除仅在模型生成期间使用的任何状态。

NavigationAttributeConventionBase<TAttribute>

基于应用于导航的属性执行配置的约定的基类型。

NavigationBackingFieldAttributeConvention

将导航属性配置为具有基于 属性的后备字段的 BackingFieldAttribute 约定。

NavigationEagerLoadingConvention

一种约定,用于将导航配置为预先加载的自有实体类型。

NonNullableConventionBase

基于成员类型是否为不可为 null 引用类型来配置模型方面的约定的基类型。

NonNullableNavigationConvention

一种约定,用于根据需要将不可为 null 的导航配置为主体实体类型。

NonNullableReferencePropertyConvention

一种约定,用于根据需要配置不可为 null 类型的属性。

NotMappedEntityTypeAttributeConvention

忽略具有 NotMappedAttribute的实体类型的约定。

NotMappedMemberAttributeConvention

一种约定,用于忽略具有 NotMappedAttribute的实体类型的成员。

NotMappedTypeAttributeConvention

忽略具有 NotMappedAttribute的实体类型的约定。

OwnedAttributeConvention

一种约定,用于配置拥有 OwnedAttribute 的实体类型。

OwnedEntityTypeAttributeConvention

一种约定,用于配置拥有 OwnedAttribute 的实体类型。

OwnedTypesConvention

一种约定,该约定将拥有的实体类型配置为将导航定义为拥有的实体类型,如果只有此类型的一个导航,则不定义导航。

PrecisionAttributeConvention

一种约定,该约定基于 PrecisionAttribute 对 属性应用的 配置精度。

PropertyAttributeConventionBase<TAttribute>

基于应用于属性的属性执行配置的约定的基类型。

PropertyDiscoveryConvention

将属性添加到与 CLR 类型上的标量公共属性相对应的实体类型的约定。

PropertyOverridesConvention

一种约定,可确保声明属性对于属性重写是最新的。

QueryFilterDefiningQueryRewritingConvention

用于在查询筛选器中转换 DbSet 的访问并将查询定义为 EntityQueryable 的约定。 这使得它们与实际查询中 DbSet 访问的表示方式一致,从而可以在查询管道中更轻松地进行处理。

QueryFilterDefiningQueryRewritingConvention.DbSetAccessRewritingExpressionVisitor
QueryFilterRewritingConvention

将内部查询筛选器EntityQueryRootExpression的访问转换为 的DbSet<TEntity>约定。 这使得它们与实际查询中 DbSet 访问的表示方式一致,从而可以在查询管道中更轻松地进行处理。

QueryFilterRewritingConvention.DbSetAccessRewritingExpressionVisitor

将表达式中遇到的 DbSet 访问重写为 EntityQueryRootExpression的访问者。

RelationalColumnAttributeConvention

一种约定,该约定基于应用的 ColumnAttribute为属性配置列名称和类型。

RelationalColumnCommentAttributeConvention

基于应用的 CommentAttribute为属性或字段配置列注释的约定。

RelationalDbFunctionAttributeConvention

一种约定,用于基于使用 标记 DbFunctionAttribute的上下文上的公共静态方法配置模型函数映射。

RelationalMapToJsonConvention

为映射到 JSON 列的实体配置默认设置的约定。

RelationalMaxIdentifierLengthConvention

配置数据库支持的最大对象标识符长度的约定。

RelationalModelConvention

预先计算关系模型的约定。

RelationalNavigationJsonPropertyNameAttributeConvention

一种约定,该约定根据 JsonPropertyNameAttribute 属性为映射到 json 的导航属性配置 JSON 元素名称。

RelationalPropertyJsonPropertyNameAttributeConvention

基于应用的 JsonPropertyNameAttribute配置 JSON 属性名称的约定。

RelationalQueryFilterDefiningQueryRewritingConvention
RelationalQueryFilterDefiningQueryRewritingConvention.RelationalDbSetAccessRewritingExpressionVisitor
RelationalQueryFilterRewritingConvention

将内部查询筛选器EntityQueryRootExpression的访问转换为 的DbSet<TEntity>约定。 这使得它们与实际查询中 DbSet 访问的表示方式一致,从而可以在查询管道中更轻松地进行处理。

RelationalQueryFilterRewritingConvention.RelationalDbSetAccessRewritingExpressionVisitor

将表达式中遇到的 DbSet 访问重写为 EntityQueryRootExpression的访问者。

RelationalRuntimeModelConvention

创建可变模型的优化副本的约定。 此约定通常由数据库提供程序实现,用于在创建只读模型时更新提供程序注释。

RelationalTableAttributeConvention

一种约定,该约定基于应用的 TableAttribute为实体类型配置表名称和架构。

RelationalTableCommentAttributeConvention

基于应用的 CommentAttribute为实体类型配置表注释的约定。

RelationalValueGenerationConvention

一种约定,用于将存储值生成配置为 OnAdd 属于主键的一部分,而不是任何外键的一部分或配置为具有数据库默认值的属性。 它还配置属性,就像将其配置为计算列一样 OnAddOrUpdate

RelationshipDiscoveryConvention

一种约定,该约定基于导航属性配置实体类型之间的关系,只要没有歧义,哪个是相应的反向导航。

RequiredNavigationAttributeConvention

一种约定,如果 对主体实体类型应用导航属性,则 RequiredAttribute 根据需要配置关系的主体端。

RequiredPropertyAttributeConvention

一种约定,该约定在应用了 RequiredAttribute 的情况下根据需要配置属性。

RuntimeModelConvention

创建可变模型的优化副本的约定。 此约定通常由数据库提供程序实现,用于在创建只读模型时更新提供程序注释。

RuntimeModelConvention.QueryRootRewritingExpressionVisitor

将表达式中遇到的重写 EntityQueryRootExpression 为使用不同的实体类型的访问者。

SequenceUniquificationConvention

一种约定,它确保在截断为模型的最大标识符长度时,模型中的所有序列在架构中都具有唯一的名称。

ServicePropertyDiscoveryConvention

将服务属性添加到实体类型的约定。

SharedTableConvention

一种约定,用于操作共享表的实体类型的数据库对象名称以避免冲突。

SqliteConventionSetBuilder

用于生成 SQLite 约定的生成器。

SqliteRuntimeModelConvention

创建可变模型的优化副本的约定。

SqliteSharedTableConvention

一种约定,用于操作共享表的实体类型的数据库对象名称以避免冲突。

SqlServerConventionSetBuilder

构建SQL Server约定的生成器。

SqlServerDbFunctionConvention

一种约定,可确保Schema为将 标志设置为 false的数据库函数IsBuiltIn填充 。

SqlServerIndexConvention

一种约定,用于配置具有可为 null 列的唯一非聚集索引的筛选器,以筛选出 null 值。

SqlServerMemoryOptimizedTablesConvention

为内存优化表将索引配置为非聚集索引的约定。

SqlServerOnDeleteConvention

为联接实体类型上的外键配置 OnDelete 行为的约定,用于自引用跳过导航

SqlServerOutputClauseConvention

将具有触发器的表配置为在保存更改时不使用 OUTPUT 子句的约定。

SqlServerRuntimeModelConvention

创建可变模型的优化副本的约定。

SqlServerSharedTableConvention

一种约定,用于操作共享表的实体类型的数据库对象名称以避免冲突。

SqlServerStoreGenerationConvention

一种约定,可确保属性未配置为具有默认值(作为计算列)或同时使用 SqlServerValueGenerationStrategy

SqlServerTemporalConvention

一种约定,用于操作映射到临时表的实体的时态设置。

SqlServerValueGenerationConvention

将存储值生成配置为 OnAdd 在属于主键(而不是任何外键的一部分)的属性上、配置为具有数据库默认值或配置为使用 SqlServerValueGenerationStrategy的约定。 它还配置属性,就像将其配置为计算列一样 OnAddOrUpdate

SqlServerValueGenerationStrategyConvention

将默认模型 SqlServerValueGenerationStrategy 配置为 IdentityColumn的约定。

StoredProcedureConvention

确保实体类型是存储过程的最新约定。

StoreGenerationConvention

一种约定,可确保属性未配置为同时具有默认值和作为计算列。

StoreKeyConvention

添加“id”属性的约定 - Azure Cosmos 所需的密钥。

StringLengthAttributeConvention

一种约定,该约定基于 StringLengthAttribute 对 属性应用的 配置最大长度。

TableNameFromDbSetConvention

基于属性名称配置表名称的 DbSet<TEntity> 约定。

TableSharingConcurrencyTokenConvention

一种约定,用于查找共享具有并发标记列的表的实体类型,这些实体类型没有映射到该列的属性。 然后,它会创建映射到最基本实体类型上该列的阴影并发属性 () 。

TableValuedDbFunctionConvention

一种约定,用于配置可查询函数映射到的实体类型。

TimestampAttributeConvention

一种约定,将 属性配置为并发令牌(如果 TimestampAttribute 应用于该属性)。

TypeAttributeConventionBase<TAttribute>

基于结构类型上指定的属性执行配置的约定的基类型。

TypeMappingConvention

一种约定,用于创建存储类型映射并将其分配给实体属性。

UnicodeAttributeConvention

一种约定,该约定基于 UnicodeAttribute 在 属性上应用的 来配置 Unicode。

ValidatingConvention

检查模型是否有效的约定。

ValueGenerationConvention

一种约定,该约定将存储值生成配置为 OnAdd 在属于主键而不是任何外键一部分的属性上。

接口

IComplexPropertyAddedConvention

表示在将复杂属性添加到类似类型的对象时应执行的操作。

IComplexPropertyAnnotationChangedConvention

表示在复杂属性上更改批注时应执行的操作。

IComplexPropertyFieldChangedConvention

表示在更改复杂属性的后备字段时应执行的操作。

IComplexPropertyNullabilityChangedConvention

表示在更改复杂属性的可为空性时应执行的操作。

IComplexPropertyRemovedConvention

表示从类似类型的对象中删除复杂属性时应执行的操作。

IComplexTypeAnnotationChangedConvention

表示在复杂类型上更改批注时应执行的操作。

IComplexTypeMemberIgnoredConvention

表示在忽略复杂类型成员时应执行的操作。

IConvention

这是所有约定接口的基接口,不应直接实现。

IConventionBatch

表示一个对象,该对象将任何约定调用延迟到运行或释放。

IConventionContext

与每个约定调用关联的上下文信息。

IConventionContext<TMetadata>

与每个约定调用关联的上下文信息。

IDiscriminatorPropertySetConvention

表示在为实体类型设置鉴别器属性时应执行的操作。

IElementTypeAnnotationChangedConvention

表示对集合属性的元素更改批注时应执行的操作。

IElementTypeNullabilityChangedConvention

表示在集合属性元素的可为空性发生更改时应执行的操作。

IEntityTypeAddedConvention

表示在将实体类型添加到模型中时应执行的操作。

IEntityTypeAnnotationChangedConvention

表示在实体类型上更改批注时应执行的操作。

IEntityTypeBaseTypeChangedConvention

表示在实体类型的基类型更改时应执行的操作。

IEntityTypeIgnoredConvention

表示在忽略实体类型时应执行的操作。

IEntityTypeMemberIgnoredConvention

表示在忽略实体类型成员时应执行的操作。

IEntityTypePrimaryKeyChangedConvention

表示在实体类型的主键发生更改时应执行的操作。

IEntityTypeRemovedConvention

表示从模型中删除实体类型时应执行的操作。

IForeignKeyAddedConvention

表示在将外键添加到实体类型时应执行的操作。

IForeignKeyAnnotationChangedConvention

表示在外键上更改批注时应执行的操作。

IForeignKeyDependentRequirednessChangedConvention

表示在外键的依赖性发生更改时应执行的操作。

IForeignKeyNullNavigationSetConvention

表示在对外键将 null 导航设置为 时应执行的操作。

IForeignKeyOwnershipChangedConvention

表示在更改外键的所有权值时应执行的操作。

IForeignKeyPrincipalEndChangedConvention

表示在外键的主体端发生更改时应执行的操作。

IForeignKeyPropertiesChangedConvention

表示在更改外键属性或主体键时应执行的操作。

IForeignKeyRemovedConvention

表示在删除外键时应执行的操作。

IForeignKeyRequirednessChangedConvention

表示外键的必需更改时应执行的操作。

IForeignKeyUniquenessChangedConvention

表示在更改外键的唯一性时应执行的操作。

IIndexAddedConvention

表示在将索引添加到实体类型时应执行的操作。

IIndexAnnotationChangedConvention

表示在索引上更改批注时应执行的操作。

IIndexRemovedConvention

表示从实体类型中删除索引时应执行的操作。

IIndexSortOrderChangedConvention

表示在索引的排序顺序发生更改时应执行的操作。

IIndexUniquenessChangedConvention

表示更改索引的唯一性时应执行的操作。

IKeyAddedConvention

表示在将键添加到实体类型时应执行的操作。

IKeyAnnotationChangedConvention

表示在键上更改批注时应执行的操作。

IKeyRemovedConvention

表示删除密钥时应执行的操作。

IModelAnnotationChangedConvention

表示在模型上更改批注时应执行的操作。

IModelFinalizedConvention

表示应在模型完成且无法再发生更改后执行的操作。

IModelFinalizingConvention

表示在最终确定模型时应执行的操作。

IModelInitializedConvention

表示初始化模型时应执行的操作。

INavigationAddedConvention

表示在将导航添加到实体类型时应执行的操作。

INavigationAnnotationChangedConvention

表示在导航上更改批注时应执行的操作。

INavigationRemovedConvention

表示从实体类型中删除导航时应执行的操作。

IPropertyAddedConvention

表示在将属性添加到实体类型时应执行的操作。

IPropertyAnnotationChangedConvention

表示在属性上更改批注时应执行的操作。

IPropertyElementTypeChangedConvention

表示在属性的 更改时 IElementType 应执行的操作。

IPropertyFieldChangedConvention

表示在更改属性的后备字段时应执行的操作。

IPropertyNullabilityChangedConvention

表示属性的可为空性更改时应执行的操作。

IPropertyRemovedConvention

表示从实体类型中删除属性时应执行的操作。

ISkipNavigationAddedConvention

表示在将跳过导航添加到实体类型时应执行的操作。

ISkipNavigationAnnotationChangedConvention

表示在跳过导航上更改批注时应执行的操作。

ISkipNavigationForeignKeyChangedConvention

表示在更改跳过导航外键时应执行的操作。

ISkipNavigationInverseChangedConvention

表示在跳过导航逆向更改时应执行的操作。

ISkipNavigationRemovedConvention

表示从实体类型中删除跳过导航时应执行的操作。

ITriggerAddedConvention

表示在将触发器添加到实体类型时应执行的操作。

ITriggerRemovedConvention

表示从实体类型中删除触发器时应执行的操作。

ITypeIgnoredConvention

表示在忽略类型时应执行的操作。