语言

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

验证模型属性的类型映射。

适用于