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

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

适用于