Share via


ModelValidator 類別

定義

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

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

備註

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

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

建構函式

ModelValidator(ModelValidatorDependencies)

建立 ModelValidator 的新執行個體。

屬性

Dependencies

此服務的相依性。

方法

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>)

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

適用於