Microsoft.EntityFrameworkCore.Metadata.Conventions 命名空間

類別

名稱 Description
AutoLoadConvention

一種根據提供者專屬啟發式設定屬性,以判斷是否應該自動載入的慣例。 覆寫 ShouldBeAutoLoaded(IConventionProperty) 以自訂哪些屬性不被自動載入。

BackingFieldAttributeConvention

一種將屬性設定為基於屬性的背景欄位 BackingFieldAttribute 的慣例。

BackingFieldConvention

一種根據屬性名稱尋找後盾欄位的慣例:

  • <[物業名稱]>k__BackingField
  • _[駱駝殼房產名稱]
  • _[物業名稱]
  • m_[駱駝殼物業名稱]
  • m_[物業名稱]
  • [物業名稱]_
BaseTypeDiscoveryConvention

這是一種根據相關的 CLR 類型階層,找出已屬於模型的基底與衍生實體類型。

CascadeDeleteConvention

一個將刪除行為設定為 對 Cascade 必要外鍵和 ClientSetNull 可選外鍵的慣例。

ChangeTrackingStrategyConvention

這是一種在模型上設置一個旗標,若沒有實體類型使用該 Snapshot 策略,則會跳過偵測變更的慣例。

CheckConstraintConvention

一種確保導出型別檢查約束與基底類型檢查約束相容的慣例。 同時也確保宣告的類型是最新的。

ComplexPropertyDiscoveryConvention

只要結構型別先前已配置為複型態或宣告型別即為複型,即可配置結構型態的複雜屬性。

ComplexTypeAttributeConvention

一個配置具有 ComplexTypeAttribute的型態慣例。

ConcurrencyCheckAttributeConvention

一個將屬性配置為並行標記的慣例,若該屬性具有 ConcurrencyCheckAttribute。

ConstructorBindingConvention

一個根據名稱將實體類型建構子參數綁定到現有屬性和服務屬性的慣例:

  • [參數名稱]
  • [帕斯卡例參數名稱]
  • _[參數名稱]
  • _[帕斯卡例參數名稱]
  • m_[參數名稱]
  • m_[帕斯卡例參數名稱]
ContextContainerConvention

一個將預設容器名稱設定為上下文類型名稱的慣例。

ConventionSet

代表一組用於建構模型的慣例。

CosmosDiscriminatorConvention

一個將實體類型的判別值設定為實體類型名稱的慣例。

CosmosInversePropertyAttributeConvention

一個根據另一個導航屬性的指定來配置逆向導航性質 InversePropertyAttribute 的約定。 所有導航皆假設是針對 Cosmos 擁有實體類型。

CosmosJsonIdConvention

一個將 PK 和/或判別子屬性映射到 JSON 'id' 屬性的慣例。

CosmosKeyDiscoveryConvention

一種慣例,根據名稱尋找實體類型的主鍵屬性,並在有分割鍵時加入。

CosmosManyToManyJoinEntityTypeConvention

一種慣例,為多對多關係建立一個連接實體類型,若相關類型共享分割鍵,則為其加入分割鍵。

CosmosPartitionKeyInPrimaryKeyConvention

一種將分割鍵屬性加入 EF 主鍵的慣例。

CosmosRelationshipDiscoveryConvention

一種約定,根據導航屬性配置實體類型間的關係,只要對應的反向導航沒有歧義。 所有導航皆假設是針對 Cosmos 擁有實體類型。

CosmosRuntimeModelConvention

一種建立可變模型優化副本的慣例。 此慣例通常由資料庫提供者實作,用於在建立唯讀模型時更新提供者註解。

CosmosValueGenerationConvention

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

DatabaseGeneratedAttributeConvention

一個將屬性配置為 OnAdd 若 的慣例是 ,若 OnAddOrUpdateComputed 是 ,則 是 ,或 NoneNever 如果 是用 DatabaseGeneratedAttribute來Identity指定。

DbFunctionTypeMappingConvention

一個慣例:為實例配置型別映射 IDbFunction 。

DbSetFindingConvention

一種根據衍生DbContext類別定義屬性來添加實體類型的DbSet<TEntity>慣例。

DefiningQueryRewritingConvention

將內部查詢篩選器的存取 DbSet<TEntity> 與查詢定義 EntityQueryRootExpression轉換為 的慣例。 這使得它們與實際查詢中的 DbSet 存取方式一致,讓查詢流程中的處理更為方便。

DeleteBehaviorAttributeConvention

一個根據該屬性所應用的設定來設定刪除行為 DeleteBehaviorAttribute 的慣例。

DerivedTypeDiscoveryConvention

這是一種根據相關 CLR 類型階層,尋找已屬於模型一部分的衍生實體類型。

DiscriminatorConvention

一種將階層中實體類型的判別值作為實體類型名稱的慣例。

DiscriminatorLengthConvention

一個設定字串判別子屬性最大長度的慣例。

ElementMappingConvention

這是一種確保屬性映射中,任何 ElementMapping 都會被類型映射器發現的慣例。

ElementTypeChangedConvention

一種對原始集合元素類型變更做出反應的慣例。

EntitySplittingConvention

一種建立連結關係以進行實體分割並管理映射片段的慣例。

EntityTypeAttributeConventionBase<TAttribute>

一種基於實體類型中指定的屬性來執行配置的慣例的基礎類型。

EntityTypeConfigurationAttributeConvention

一個套用 在 中 EntityTypeConfigurationAttribute指定的實體類型配置的慣例。

EntityTypeConfigurationEntityTypeAttributeConvention

一個套用 在 中 EntityTypeConfigurationAttribute指定的實體類型配置的慣例。

EntityTypeHierarchyMappingConvention

一種慣例,移除非TPH實體類型的判別符,並將TPT實體類型的繼承屬性解對應。

ETagPropertyConvention

一個在並發代幣上加入 etag 元資料的慣例(如果存在的話)。

ForeignKeyAttributeConvention

一種根據該屬性或導航屬性的指定,配置與導航屬性 ForeignKeyAttribute 相關的外鍵屬性的慣例。

ForeignKeyIndexConvention

這是一種在外鍵屬性上建立索引的慣例,除非這些屬性已被現有索引或鍵涵蓋。

ForeignKeyPropertyDiscoveryConvention

一種根據關係名稱尋找外鍵屬性的慣例,忽略格:

  • [導航物業名稱][主要關鍵屬性名稱]
  • [導航物業名稱]本我
  • [主要實體名稱][主要關鍵屬性名稱]
  • [主要實體名稱]本我
IndexAttributeConvention

一種根據 IndexAttribute.

InheritanceDiscoveryConventionBase

繼承發現慣例的基礎類型

InMemoryConventionSetBuilder

一個用於為記憶體內提供者建立慣例的建構器。

InversePropertyAttributeConvention

一個根據另一個導航屬性的指定來配置逆向導航性質 InversePropertyAttribute 的約定。

KeyAttributeConvention

一種根據屬性上的指定PrimaryKeyAttribute值或 CLR 類型來配置實體類型鍵KeyAttribute的慣例。

KeyComplexPropertyConvention

一個將鍵所用屬性路徑中每個複雜屬性標記為必要條件的慣例,因為必須有該屬性的值才能計算出該鍵值。

KeyDiscoveryConvention

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

  • Id
  • [實體名稱]本我
KeylessAttributeConvention

一個忽略具有 . KeylessAttribute的實體類型。

KeylessEntityTypeAttributeConvention

一個忽略具有 . KeylessAttribute的實體類型。

ManyToManyJoinEntityTypeConvention

一種尋找匹配跳躍導覽並自動建立多對多連接實體並搭配適當外鍵的慣例,會將兩個匹配的跳過導覽設定為使用這些外鍵。

MaxLengthAttributeConvention

一個根據該性質所施加的參數 MaxLengthAttribute 來設定最大長度的慣例。

ModelCleanupConvention

一個移除僅在模型建構中使用的狀態的慣例。

NavigationAttributeConventionBase<TAttribute>

一個基於套用屬性於導航的慣例的基礎型態。

NavigationBackingFieldAttributeConvention

一種將導航屬性配置為基於屬性的後盾欄位 BackingFieldAttribute 的慣例。

NavigationEagerLoadingConvention

一個將導航配置為擁有實體類型且已載入的慣例。

NonNullableConventionBase

一種基於成員類型是否為不可空參考型態來設定模型面向的慣例的基礎型態。

NonNullableNavigationConvention

一個將不可空除導覽設定為主實體類型(principal entity type)的慣例。

NonNullableReferencePropertyConvention

一個會依需求配置不可空型態屬性的慣例。

NotMappedEntityTypeAttributeConvention

一個忽略具有 . NotMappedAttribute的實體類型。

NotMappedMemberAttributeConvention

一個忽略具有 NotMappedAttribute的實體類型成員的慣例。

NotMappedTypeAttributeConvention

一個忽略具有 . NotMappedAttribute的實體類型。

OwnedAttributeConvention

一個用來設定擁有 的 OwnedAttribute 實體類型。

OwnedEntityTypeAttributeConvention

一個用來設定擁有 的 OwnedAttribute 實體類型。

OwnedTypesConvention

一個慣例,將擁有實體類型設定為擁有實體類型,將導航定義為擁有實體類型,但若只有一個此類導航,則不定義導航。

PrecisionAttributeConvention

一個根據該屬性所應用的設定精確 PrecisionAttribute 度的慣例。

PropertyAttributeConventionBase<TAttribute>

一種基於屬性套用屬性來執行設定的慣例的基底類型。

PropertyDiscoveryConvention

這是一種在實體類型中加入屬性的慣例,對應於 CLR 類型上的純量公共屬性。

PropertyOverridesConvention

一個確保宣告財產對該財產有效的慣例會被覆蓋。

QueryFilterDefiningQueryRewritingConvention

將查詢篩選器內的資料庫集存取轉換成 EntityQueryables。 這使得它們與實際查詢中的 DbSet 存取方式一致,讓查詢流程中的處理更為方便。

QueryFilterDefiningQueryRewritingConvention.DbSetAccessRewritingExpressionVisitor
QueryFilterRewritingConvention

將內部查詢過濾器EntityQueryRootExpression的存取DbSet<TEntity>轉換為 的慣例。 這使得它們與實際查詢中的 DbSet 存取方式一致,讓查詢流程中的處理更為方便。

QueryFilterRewritingConvention.DbSetAccessRewritingExpressionVisitor

一個將 DbSet 存取重寫為 的訪客,將表達式中遇到的存取改寫為 EntityQueryRootExpression。

RelationalColumnAttributeConvention

一個根據所應用 ColumnAttribute的屬性配置欄位名稱與類型的方式。

RelationalColumnCommentAttributeConvention

一種根據所應用 CommentAttribute的屬性或欄位註解來配置欄位註解的慣例。

RelationalDbFunctionAttributeConvention

一種約定,根據標記為 DbFunctionAttribute的上下文中,基於公開靜態方法配置模型函數映射。

RelationalKeyDiscoveryConvention

一個繼承自 KeyDiscoveryConvention的關係特定慣例。

RelationalMapToJsonConvention

一個用來設定映射到 JSON 欄位的實體預設設定的慣例。

RelationalMaxIdentifierLengthConvention

一種規範,用來設定資料庫所支援的最大物件識別碼長度。

RelationalModelConvention

一種預先計算關聯模型的慣例。

RelationalNavigationJsonPropertyNameAttributeConvention

一個規範,將 JSON 元素名稱配置為根據屬性映射到 JSON JsonPropertyNameAttribute 的導航屬性。

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

一種操作資料庫物件名稱的慣例,用於共用資料表的實體類型,以避免衝突。

SqliteStoreGenerationConvention

一種確保屬性不會設定為預設值的慣例,無論是計算欄位還是同時使用 a SqliteValueGenerationStrategy 。

SqliteValueGenerationConvention

一種將儲存值產生設定為 OnAdd 對屬於主鍵而非任何外鍵的屬性的慣例,這些屬性被設定為資料庫預設值,或設定為使用 SqliteValueGenerationStrategy。 它也會將屬性配置成 OnAddOrUpdate 計算欄位。

SqlServerAutoLoadConvention

一個將 SQL Server 向量屬性設定為非自動載入的慣例。

SqlServerConventionSetBuilder

一個用於建立 SQL Server 慣例的建構工具。

SqlServerDbFunctionConvention

一個確保 在標誌IsBuiltIn設為 false的資料庫函式中被填充的Schema慣例。

SqlServerIndexConvention

一種約定,將篩選器配置為唯一且非叢集且欄位可為空的索引,以過濾空值。

SqlServerMemoryOptimizedTablesConvention

一種將索引配置為非叢集的慣例,適用於記憶體優化的資料表。

SqlServerOnDeleteConvention

一個規範,為 join entity 類型中的外鍵設定 OnDelete 行為,以便自我參照跳過導覽

SqlServerOutputClauseConvention

一種慣例,將有觸發器的表格設定為在儲存變更時不使用 OUTPUT 子句。

SqlServerRuntimeModelConvention

一種建立可變模型優化副本的慣例。

SqlServerSharedTableConvention

一種操作資料庫物件名稱的慣例,用於共用資料表的實體類型,以避免衝突。

SqlServerStoreGenerationConvention

一種確保屬性不會設定為預設值的慣例,無論是計算欄位還是同時使用 a SqlServerValueGenerationStrategy 。

SqlServerTemporalConvention

一個操作映射到時間表實體的時間設定的慣例。

SqlServerValueGenerationConvention

一種將儲存值產生設定為 OnAdd 對屬於主鍵而非任何外鍵的屬性的慣例,這些屬性被設定為資料庫預設值,或設定為使用 SqlServerValueGenerationStrategy。 它也會將屬性配置成 OnAddOrUpdate 計算欄位。

SqlServerValueGenerationStrategyConvention

一個將預設模型 SqlServerValueGenerationStrategy 配置為 IdentityColumn的慣例。

StoredProcedureConvention

一個確保實體類型對儲存程序來說是最新的慣例。

StoreGenerationConvention

一個確保屬性不會同時設定為預設值和計算欄位的慣例。

StoreKeyConvention

一個加入「id」屬性的慣例——這是 Azure Cosmos 所要求的金鑰。

StringLengthAttributeConvention

一個根據該性質所施加的參數 StringLengthAttribute 來設定最大長度的慣例。

TableNameFromDbSetConvention

一個根據屬性名稱來配置資料表名稱 DbSet<TEntity> 的慣例。

TableSharingConcurrencyTokenConvention

一種慣例,用來尋找共用一個具有並發標記欄位的表格的實體類型,而這些實體類型沒有映射到該欄位的屬性。 接著它會建立一個影子並行屬性,映射到最基底實體類型上的該欄。

TableValuedDbFunctionConvention

一個用來設定可查詢函式所映射到的實體類型慣例。

TimestampAttributeConvention

一個將該屬性配置為並行標記的慣例,若對其應用 a TimestampAttribute 。

TypeAttributeConventionBase<TAttribute>

一種基於結構型別中屬性執行配置的慣例的基礎型態。

TypeMappingConvention

一個建立並指派實體屬性的商店類型映射的慣例。

UnicodeAttributeConvention

一個根據應用在屬性上的 來配置 Unicode UnicodeAttribute 的慣例。

ValidatingConvention

一個用來檢查模型是否有效的約定。

ValueGenerationConvention

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

介面

名稱 Description
IComplexPropertyAddedConvention

代表當將複雜屬性加入類型物件時應執行的操作。

IComplexPropertyAnnotationChangedConvention

代表在複雜屬性上更改註解時應執行的操作。

IComplexPropertyFieldChangedConvention

代表當複雜性質的背景欄位改變時應執行的操作。

IComplexPropertyNullabilityChangedConvention

代表當某複雜性質的空可行性改變時應執行的操作。

IComplexPropertyRemovedConvention

代表當從類型物件移除複雜屬性時應執行的操作。

IComplexTypeAnnotationChangedConvention

代表在對複雜型別更改註解時應執行的操作。

IComplexTypeMemberIgnoredConvention

代表當忽略複雜型態成員時應執行的操作。

IConvention

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

IConventionBatch

代表一個物件,會延遲任何約定調用,直到執行或處置。

IConventionContext

與每次大會通話相關的情境資訊。

IConventionContext<TMetadata>

與每次大會通話相關的情境資訊。

IDiscriminatorPropertySetConvention

代表當為某類型設定判別子屬性時,應執行的操作。

IElementTypeAnnotationChangedConvention

代表當修改集合屬性元素註解時應執行的操作。

IElementTypeNullabilityChangedConvention

代表當集合屬性元素的空無性改變時,應執行的操作。

IEntityTypeAddedConvention

代表當實體類型加入模型時,應執行的操作。

IEntityTypeAnnotationChangedConvention

代表當某個實體類型更改註解時,應該執行的操作。

IEntityTypeBaseTypeChangedConvention

代表當實體類型的基底型態改變時,應執行的操作。

IEntityTypeIgnoredConvention

代表當忽略某實體類型時應執行的操作。

IEntityTypeMemberIgnoredConvention

代表當忽略某個實體類型成員時應執行的操作。

IEntityTypePrimaryKeyChangedConvention

代表當某實體類型的主鍵變更時,應執行的操作。

IEntityTypeRemovedConvention

代表當某實體類型從模型中移除時,應執行的操作。

IForeignKeyAddedConvention

代表當將外鍵加入實體類型時,應執行的操作。

IForeignKeyAnnotationChangedConvention

代表當外鍵註解被更改時應執行的操作。

IForeignKeyConstrainednessChangedConvention

代表當外鍵限制改變時應執行的操作。

IForeignKeyDependentRequirednessChangedConvention

代表當外金鑰的依賴需求改變時應執行的操作。

IForeignKeyNullNavigationSetConvention

代表當導航設定為外 null 鍵時應執行的操作。

IForeignKeyOwnershipChangedConvention

代表當外鍵所有權值改變時應執行的操作。

IForeignKeyPrincipalEndChangedConvention

代表當外鍵主端改變時應執行的操作。

IForeignKeyPropertiesChangedConvention

代表當外鍵屬性或主鍵變更時應執行的操作。

IForeignKeyRemovedConvention

代表移除外鍵時應執行的操作。

IForeignKeyRequirednessChangedConvention

代表當外鍵需求改變時應執行的操作。

IForeignKeyUniquenessChangedConvention

代表當外鍵唯一性改變時應執行的操作。

IIndexAddedConvention

代表當在實體類型中加入索引時,應執行的操作。

IIndexAnnotationChangedConvention

代表當索引上註解被更改時應執行的操作。

IIndexRemovedConvention

代表當從實體類型移除索引時,應執行的操作。

IIndexSortOrderChangedConvention

代表當索引排序順序改變時應執行的操作。

IIndexUniquenessChangedConvention

代表當索引唯一性改變時應執行的操作。

IKeyAddedConvention

代表當將鍵加入實體類型時應執行的操作。

IKeyAnnotationChangedConvention

代表當鍵符變更註解時應執行的操作。

IKeyRemovedConvention

代表在移除金鑰時應執行的操作。

IModelAnnotationChangedConvention

代表當模型上註解被更改時,應執行的操作。

IModelEmbeddedDiscriminatorNameConvention

代表當模型內嵌判別器名稱變更時應執行的操作。

IModelFinalizedConvention

代表一種應在模型定案後執行且無法再變異的操作。

IModelFinalizingConvention

代表模型最終定稿時應執行的操作。

IModelInitializedConvention

代表模型初始化時應執行的操作。

INavigationAddedConvention

代表當在實體類型中新增導航時應執行的操作。

INavigationAnnotationChangedConvention

代表當導航中註解變更時應執行的操作。

INavigationRemovedConvention

代表當導覽從實體類型中移除時,應執行的操作。

IPropertyAddedConvention

代表當屬性加入實體類型時,應該執行的操作。

IPropertyAnnotationChangedConvention

代表當屬性註解變更時應執行的操作。

IPropertyAutoLoadChangedConvention

代表當屬性值變更時 IsAutoLoaded 應執行的操作。

IPropertyElementTypeChangedConvention

代表當屬性 IElementType 變更時應執行的操作。

IPropertyFieldChangedConvention

代表當某個屬性的底層欄位改變時,應該執行的操作。

IPropertyNullabilityChangedConvention

代表當某屬性的可空性變更時,應執行的操作。

IPropertyRemovedConvention

代表當屬性從實體類型中移除時,應執行的操作。

ISkipNavigationAddedConvention

代表當實體類型新增跳過導覽時應執行的操作。

ISkipNavigationAnnotationChangedConvention

代表在跳過導覽中更改註解時應執行的操作。

ISkipNavigationForeignKeyChangedConvention

代表當更改跳過導覽外鍵時應執行的操作。

ISkipNavigationInverseChangedConvention

代表當跳過導向反元被更改時應執行的操作。

ISkipNavigationRemovedConvention

代表當從實體類型中移除跳過導覽時,應執行的操作。

ITriggerAddedConvention

代表當在實體類型中加入觸發器時,應該執行的操作。

ITriggerRemovedConvention

代表觸發器從實體類型移除時應執行的操作。

ITypeIgnoredConvention

代表當某類型被忽略時,應執行的操作。