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 參數名稱]
  • _[parameter name]
  • _[pascal-cased 參數名稱]
  • m_[參數名稱]
  • m_[pascal-cased 參數名稱]
ContextContainerConvention

將預設容器名稱設定為內容類型名稱的慣例。

ConventionSet

表示用來建置模型的一組慣例。

CosmosDiscriminatorConvention

將實體類型的鑒別子值設定為實體類型名稱的慣例。

CosmosInversePropertyAttributeConvention

根據其他導覽屬性上指定的 來設定反向導覽屬性 InversePropertyAttribute 的慣例。 所有導覽都假設是以 Cosmos 擁有的實體類型為目標。

CosmosKeyDiscoveryConvention

根據名稱尋找實體類型之主鍵屬性的慣例,如果存在,則會將分割區索引鍵加入其中。

CosmosManyToManyJoinEntityTypeConvention

建立多對多關聯性之聯結實體類型的慣例,並在相關類型共用分割區索引鍵時,將分割區索引鍵加入其中。

CosmosRelationshipDiscoveryConvention

根據導覽屬性設定實體類型之間關聯性的慣例,只要沒有模棱兩可的對應反向導覽。 所有導覽都假設是以 Cosmos 擁有的實體類型為目標。

CosmosRuntimeModelConvention

建立可變動模型之優化複本的慣例。 此慣例通常是由資料庫提供者實作,以在建立唯讀模型時更新提供者批註。

CosmosValueGenerationConvention

慣例,會將儲存值產生設定為 OnAdd 主鍵一部分的屬性,而不是任何外鍵的一部分,或設定為具有資料庫預設值的屬性。

DatabaseGeneratedAttributeConvention

將屬性設定為 OnAdd 的慣例,如同 Identity 已指定、如果 已指定, OnAddOrUpdate 則為 ,如果使用 NeverComputed 來指定 ,則 NoneDatabaseGeneratedAttribute

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

根據關聯性名稱尋找外鍵屬性的慣例,忽略大小寫:

  • [導覽屬性名稱][principal key property name]
  • [導覽屬性名稱]Id
  • [主體機構名稱][principal key property name]
  • [主體機構名稱]Id
IndexAttributeConvention

根據 設定資料庫索引的 IndexAttribute 慣例。

InheritanceDiscoveryConventionBase

繼承探索慣例的基底類型

InversePropertyAttributeConvention

根據其他導覽屬性上指定的 來設定反向導覽屬性 InversePropertyAttribute 的慣例。

KeyAttributeConvention

根據屬性或 CLR 型別指定的 ,設定實體類型索引鍵 KeyAttributePrimaryKeyAttribute 的慣例。

KeyDiscoveryConvention

根據名稱尋找實體類型主鍵屬性的慣例,忽略大小寫:

  • 識別碼
  • [機構名稱]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

根據 屬性所套用 的 設定 Precision PrecisionAttribute 的慣例。

PropertyAttributeConventionBase<TAttribute>

根據套用至屬性的屬性來執行組態的慣例基底類型。

PropertyDiscoveryConvention

慣例,會將屬性新增至對應至 CLR 型別上純量公用屬性的實體類型。

PropertyOverridesConvention

確保宣告屬性為屬性覆寫的目前慣例。

QueryFilterDefiningQueryRewritingConvention

將查詢篩選準則內的 DbSet 存取權轉換成 EntityQueryables 的慣例。 這可讓 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

確保已針對已將 旗標設定 false 為 的資料庫函 IsBuiltIn 式填入的慣例 Schema

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

一種慣例,可尋找共用具有並行權杖資料行之資料表的實體類型,其中那些實體類型沒有對應至該資料行的屬性。 然後,它會建立對應至該資料行的陰影並行屬性,該屬性會 (s) 。

TableValuedDbFunctionConvention

設定可查詢函式所對應之實體類型的慣例。

TimestampAttributeConvention

將 屬性設定為並行權杖的慣例,如果 TimestampAttribute 套用至它。

TypeAttributeConventionBase<TAttribute>

根據結構類型所指定屬性執行組態的慣例基底類型。

TypeMappingConvention

建立和指派實體屬性之存放區類型對應的慣例。

UnicodeAttributeConvention

根據 屬性所套用 的 來設定 Unicode UnicodeAttribute 的慣例。

ValidatingConvention

檢查模型是否有效的慣例。

ValueGenerationConvention

慣例,會將儲存值產生設定為 OnAdd 主鍵一部分的屬性,而不是任何外鍵的一部分。

介面

IComplexPropertyAddedConvention

表示當複雜屬性加入至類似類型的物件時,應該執行的作業。

IComplexPropertyAnnotationChangedConvention

表示在複雜屬性上變更批註時應該執行的作業。

IComplexPropertyFieldChangedConvention

表示當複雜屬性的備份欄位變更時,應該執行的作業。

IComplexPropertyNullabilityChangedConvention

表示當複雜屬性的可為 Null 性變更時,應該執行的作業。

IComplexPropertyRemovedConvention

表示從類似類型物件中移除複雜屬性時,應該執行的作業。

IComplexTypeAnnotationChangedConvention

表示在複雜類型上變更批註時應該執行的作業。

IComplexTypeMemberIgnoredConvention

表示忽略複雜類型成員時應該執行的作業。

IConvention

這是所有慣例介面的基底介面,不應直接實作。

IConventionBatch

表示物件,該物件會延遲任何慣例調用,直到執行或處置為止。

IConventionContext

與每個慣例呼叫相關聯的內容資訊。

IConventionContext<TMetadata>

與每個慣例呼叫相關聯的內容資訊。

IDiscriminatorPropertySetConvention

表示當為實體類型設定鑒別子屬性時,應該執行的作業。

IElementTypeAnnotationChangedConvention

表示在集合屬性的元素上變更批註時應該執行的作業。

IElementTypeNullabilityChangedConvention

表示當集合屬性元素的可為 Null 性變更時,應該執行的作業。

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

表示當屬性的可為 Null 性變更時應該執行的作業。

IPropertyRemovedConvention

表示當屬性從實體類型中移除時應該執行的作業。

ISkipNavigationAddedConvention

表示在將略過導覽新增至實體類型時應該執行的作業。

ISkipNavigationAnnotationChangedConvention

表示在略過導覽上變更注釋時應該執行的作業。

ISkipNavigationForeignKeyChangedConvention

表示在略過導覽外鍵變更時應該執行的作業。

ISkipNavigationInverseChangedConvention

表示在略過導覽反轉變更時應該執行的作業。

ISkipNavigationRemovedConvention

表示從實體類型移除略過導覽時應該執行的作業。

ITriggerAddedConvention

表示當觸發程式加入至實體類型時應該執行的作業。

ITriggerRemovedConvention

表示當觸發程式從實體類型中移除時應該執行的作業。

ITypeIgnoredConvention

表示忽略類型時應該執行的作業。