语言

ModelValidator 类

定义

强制执行所有提供程序通用的核心规则的验证程序。

[System.Runtime.CompilerServices.Nullable(0)]
public class ModelValidator : Microsoft.EntityFrameworkCore.Infrastructure.IModelValidator
public class ModelValidator : Microsoft.EntityFrameworkCore.Infrastructure.IModelValidator
[<System.Runtime.CompilerServices.Nullable(0)>]
type ModelValidator = class
    interface IModelValidator
type ModelValidator = class
    interface IModelValidator
Public Class ModelValidator
Implements IModelValidator
继承
ModelValidator
派生
特性
实现

注解

服务生存期为 Singleton。 这意味着多个实例使用 DbContext 单个实例。 实现必须是线程安全的。 此服务不能依赖于注册为 Scoped..

有关详细信息和示例,请参阅 数据库提供程序和扩展的实现 。

构造函数

名称 说明
ModelValidator(ModelValidatorDependencies)

强制执行所有提供程序通用的核心规则的验证程序。

属性

名称 说明
Dependencies

此服务的依赖项。

方法

名称 说明
IsOwned(Type, IConventionModel)

返回一个值,该值指示目标 CLR 类型是否对应于拥有的实体类型。

IsOwned(Type, IModel)

返回一个值,该值指示目标 CLR 类型是否对应于拥有的实体类型。

IsRedundant(IForeignKey)

返回一个值,该值指示给定外键是否冗余。

IsValidIdentifier(String)

如果 true 给定名称仅使用字母、ASCII 数字和下划线,并且不以数字开头,则返回;也就是说,如果可以使用它作为生成的代码中的标识符 as-is。

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

记录实体类型的所有阴影属性。

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

记录创建的所有影子属性,因为没有匹配的 CLR 成员。

LogShadowProperties(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ThrowPropertyNotMappedException(String, IConventionEntityType, IConventionProperty)

当可用时,会 InvalidOperationException 引发包含提供程序特定信息的消息,指示属性无法映射的可能原因。

ThrowPropertyNotMappedException(String, IConventionTypeBase, IConventionProperty)

当可用时,会 InvalidOperationException 引发包含提供程序特定信息的消息,指示属性无法映射的可能原因。

ThrowPropertyNotMappedException(String, ITypeBase, IProperty)

当可用时,会 InvalidOperationException 引发包含提供程序特定信息的消息,指示属性无法映射的可能原因。

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

验证模型,如果发现任何错误,则会引发异常。

Validate(IModel)

验证模型,如果发现任何错误,则会引发异常。

ValidateAmbiguousOneToOneRelationship(IForeignKey, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证一对一关系是否具有明确的主体端。

ValidateAutoLoaded(IProperty, ITypeBase, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证配置为未自动加载的属性不是键、外键、并发令牌、歧视性或构造函数绑定使用的属性。

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

验证模型中更改跟踪的映射/配置。

ValidateChangeTrackingStrategy(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

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

验证模型中继承的映射/配置。

ValidateClrInheritance(IModel, IEntityType, HashSet<IEntityType>)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ValidateClrInheritance(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ValidateComplexProperty(IComplexProperty, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证单个复杂属性及其嵌套成员。

ValidateData(IEntityType, Dictionary<IKey,IIdentityMap>, Boolean, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证实体类型的种子数据。

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

验证模型中的数据(例如种子数据)的映射/配置。

ValidateData(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ValidateDefiningNavigations(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)
已过时.

验证在模型中定义导航的映射/配置。

ValidateDefiningNavigations(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

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

验证在模型中定义查询的映射/配置。

ValidateDiscriminatorValues(IComplexType)

验证给定复杂类型和嵌套类型的歧视性和值。

ValidateDiscriminatorValues(IEntityType)

验证派生自给定实体类型的所有实体类型的歧视性和值。

ValidateDiscriminatorValues(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)
已过时.

验证模型中继承的映射/配置。

ValidateEntityClrType(IEntityType, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证实体类型是否未意外地从常见的 CLR 类型映射。

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

验证常见的 CLR 类型是否未意外映射为实体类型。

ValidateEntityType(IEntityType, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证单个实体类型。

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

验证映射到模型中字段的属性的映射/配置。

ValidateFieldMapping(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

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

验证结构类型的字段映射配置。

ValidateForeignKey(IForeignKey, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证外键。

ValidateForeignKeyPropertyInKey(IForeignKey, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证外键属性是否不是会导致问题的继承密钥的一部分。

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

验证模型中外键的映射/配置。

ValidateForeignKeys(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

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

验证是否未尝试忽略实体类型的继承属性。

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

验证是否未尝试忽略继承的属性。

ValidateIndex(IIndex, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证单个索引。

ValidateIndexOnComplexProperty(IIndex, IReadOnlyList<IComplexProperty>, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证包含复杂属性的索引。

ValidateIndexProperty(IIndex, IPropertyBase, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证索引中包含的属性。

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

验证实体类型的继承映射。

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

验证模型中继承的映射。

ValidateKey(IKey, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证单个密钥。

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

验证模型中没有键的实体类型的映射/配置。

ValidateMutableKey(IKey, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证密钥是否没有可变属性。

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

验证模型的映射/配置周期。

ValidateNoCycles(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

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

验证模型中可变键的映射/配置。

ValidateNoMutableKeys(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ValidateNonNullPrimaryKey(IEntityType, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证可跟踪实体类型是否具有主键。

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

验证所有可跟踪实体类型是否都具有主键。

ValidateNonNullPrimaryKeys(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ValidateNoShadowEntities(IModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)
已过时.

验证模型是否不包含任何实体类型,而无需相应的 CLR 类型。

ValidateNoShadowEntities(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

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

验证模型中阴影键的映射/配置。

ValidateNoShadowKeys(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

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

验证实体类型的所有权配置。

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

验证模型中所有权的映射/配置。

ValidateOwnership(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ValidatePrimitiveCollection(IProperty, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证基元集合属性。

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

验证模型中基元集合属性的映射。

ValidateProperty(IProperty, ITypeBase, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证单个属性。

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

验证给定复杂属性的属性映射。

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

验证给定复杂属性的属性映射。

ValidatePropertyMapping(IConventionTypeBase, IConventionModel, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证给定类型的属性映射。

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

验证属性映射。

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

验证给定类型的属性映射。

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

验证实体类型的查询筛选器配置。

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

验证模型中查询筛选器的映射/配置。

ValidateQueryFilters(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ValidateQueryTypes(IModel)

此 API 支持Entity Framework Core基础结构,不打算直接从代码使用。 此 API 可能会在将来的版本中更改或删除。

ValidateRedundantForeignKey(IForeignKey, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证外键是否不冗余,并记录警告(如果为)。

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

验证关系。

ValidateShadowKey(IKey, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证密钥是否没有不适当的阴影属性。

ValidateSkipNavigation(ISkipNavigation, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证跳过导航。

ValidateSkipNavigationForeignKey(ISkipNavigation, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证跳过导航是否已配置外键。

ValidateSkipNavigationInverse(ISkipNavigation, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证跳过导航是否已配置反向导航。

ValidateSkipNavigationIsCollection(ISkipNavigation, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证跳过导航是否为集合导航。

ValidateTrigger(ITrigger, IEntityType, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证单个触发器。

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

验证触发器。

ValidateTypeMapping(IProperty, IDiagnosticsLogger<DbLoggerCategory.Model.Validation>)

验证属性的类型映射。

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

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

适用于