ModelValidator 類別

定義

強制執行所有提供者通用核心規則的驗證程式。

public class ModelValidator : Microsoft.EntityFrameworkCore.Infrastructure.IModelValidator
type ModelValidator = class
    interface IModelValidator
Public Class ModelValidator
Implements IModelValidator
繼承
ModelValidator
衍生
實作

備註

服務存留期為 Singleton 。 這表示許多 DbContext 實例都會使用單一實例。 實作必須是安全線程。 此服務不能相依于註冊為 Scoped 的服務。

如需詳細資訊和範例,請參閱 資料庫提供者和延伸模組的實作

建構函式

名稱 Description
ModelValidator(ModelValidatorDependencies)

建立 ModelValidator 的新執行個體。

屬性

名稱 Description
Dependencies

此服務的相依性。

方法

名稱 Description
IsOwned(Type, IConventionModel)

傳回值,指出該目標 CLR 類型是否對應至擁有的實體類型。

IsRedundant(IForeignKey)

傳回值,指出指定的外鍵是否為備援。

LogShadowProperties(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

LogShadowProperties(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

記錄所有已建立的陰影屬性,因為沒有相符的 CLR 成員。

ThrowPropertyNotMappedException(String, IConventionEntityType, IConventionProperty)

擲回 InvalidOperationException ,其中包含提供者特定資訊的訊息,當可用時,表示無法對應屬性的可能原因。

ThrowPropertyNotMappedException(String, IConventionTypeBase, IConventionProperty)

擲回 InvalidOperationException ,其中包含提供者特定資訊的訊息,當可用時,表示無法對應屬性的可能原因。

Validate(IModel)

驗證模型,如果發現任何錯誤,則會擲回例外狀況。

Validate(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型,如果發現任何錯誤,則會擲回例外狀況。

ValidateChangeTrackingStrategy(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateChangeTrackingStrategy(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型中變更追蹤的對應/組態。

ValidateClrInheritance(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateClrInheritance(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型中的繼承對應/組態。

ValidateClrInheritance(IModel, IEntityType, HashSet<IEntityType>)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateData(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateData(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證資料 (的對應/組態,例如模型中的種子資料) 。

ValidateDefiningNavigations(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateDefiningNavigations(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)
已淘汰.

驗證在模型中定義導覽的對應/組態。

ValidateDefiningQuery(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證在模型中定義查詢的對應/組態。

ValidateDiscriminatorValues(IEntityType)

驗證衍生自指定實體類型之所有實體類型的辨別子和值。

ValidateDiscriminatorValues(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)
已淘汰.

驗證模型中的繼承對應/組態。

ValidateFieldMapping(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateFieldMapping(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證對應至模型中欄位的屬性對應/組態。

ValidateForeignKeys(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateForeignKeys(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型中外鍵的對應/組態。

ValidateIgnoredMembers(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證不會嘗試忽略繼承的屬性。

ValidateInheritanceMapping(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型中的繼承對應。

ValidateKeylessTypes(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型中沒有索引鍵的實體類型的對應/組態。

ValidateNoCycles(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateNoCycles(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型的對應/組態以取得迴圈。

ValidateNoMutableKeys(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateNoMutableKeys(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型中可變動的對應/組態。

ValidateNonNullPrimaryKeys(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateNonNullPrimaryKeys(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證所有可追蹤的實體類型都有主鍵。

ValidateNoShadowEntities(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateNoShadowEntities(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)
已淘汰.

驗證模型不包含任何沒有對應 CLR 類型的實體類型。

ValidateNoShadowKeys(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateNoShadowKeys(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型中陰影索引鍵的對應/組態。

ValidateOwnership(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateOwnership(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型中擁有權的對應/組態。

ValidatePrimitiveCollections(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型的基本集合屬性對應。

ValidatePropertyMapping(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證屬性對應。

ValidateQueryFilters(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateQueryFilters(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型中查詢篩選的對應/組態。

ValidateQueryTypes(IModel)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ValidateRelationships(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證關聯性。

ValidateTriggers(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證觸發程式。

ValidateTypeMappings(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

驗證模型的屬性類型對應。

適用於