RuntimeTypeBase 类

定义

表示模型中的结构类型。

public abstract class RuntimeTypeBase : Microsoft.EntityFrameworkCore.Infrastructure.AnnotatableBase, Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeTypeBase
type RuntimeTypeBase = class
    inherit AnnotatableBase
    interface IRuntimeTypeBase
    interface ITypeBase
    interface IReadOnlyTypeBase
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public MustInherit Class RuntimeTypeBase
Inherits AnnotatableBase
Implements IRuntimeTypeBase
继承
RuntimeTypeBase
派生
实现
IAnnotatable IReadOnlyAnnotatable Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeTypeBase IReadOnlyTypeBase ITypeBase

注解

有关详细信息和示例,请参阅 为实体类型和关系建模

构造函数

RuntimeTypeBase(String, Type, RuntimeModel, RuntimeTypeBase, ChangeTrackingStrategy, PropertyInfo, Boolean)

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

属性

BaseType

获取此类型的基类型。 null如果这不是继承层次结构中的派生类型,则返回 。

ClrType

获取用于表示此类型的实例的 CLR 类。 null如果该类型没有相应的 CLR 类 (称为阴影类型) ,则返回 。

ConstructorBinding

获取或设置 InstantiationBinding 首选构造函数的 。

DirectlyDerivedTypes

获取模型中直接派生自此类型的所有类型。

IsReadOnly

指示当前对象是否为只读。

(继承自 AnnotatableBase)
Item[String]

获取具有给定名称的值批注,如果不存在,则返回 null 该值。

(继承自 AnnotatableBase)
Model

获取此类型所属的模型。

Name

获取此类型的名称。

Properties

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,恕不另行通知。 应仅在代码中直接使用它,并且非常谨慎,并且知道在更新到新的 Entity Framework Core 版本时,这样做可能会导致应用程序失败。

方法

AddAnnotation(String, Annotation)

向此对象添加批注。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
AddAnnotation(String, Object)

向此对象添加批注。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
AddAnnotations(IEnumerable<IAnnotation>)

向此对象添加批注。

(继承自 AnnotatableBase)
AddAnnotations(IReadOnlyDictionary<String,Object>)

向此对象添加批注。

(继承自 AnnotatableBase)
AddComplexProperty(String, Type, String, Type, PropertyInfo, FieldInfo, PropertyAccessMode, Boolean, Boolean, ChangeTrackingStrategy, PropertyInfo, Boolean)

向此实体类型添加复杂属性。

AddProperty(String, Type, PropertyInfo, FieldInfo, PropertyAccessMode, Boolean, Boolean, ValueGenerated, PropertySaveBehavior, PropertySaveBehavior, Nullable<Int32>, Nullable<Boolean>, Nullable<Int32>, Nullable<Int32>, Type, Func<IProperty,ITypeBase,ValueGenerator>, ValueConverter, ValueComparer, ValueComparer, ValueComparer, JsonValueReaderWriter, CoreTypeMapping, Object)

将属性添加到此实体类型。

AddRuntimeAnnotation(String, Annotation)

向此对象添加运行时注释。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
AddRuntimeAnnotation(String, Object)

向此对象添加运行时注释。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
AddRuntimeAnnotations(IEnumerable<Annotation>)

向此对象添加运行时批注。

(继承自 AnnotatableBase)
AddRuntimeAnnotations(IReadOnlyDictionary<String,Object>)

向此对象添加运行时批注。

(继承自 AnnotatableBase)
CreateAnnotation(String, Object)

创建新批注。

(继承自 AnnotatableBase)
CreateRuntimeAnnotation(String, Object)

创建新的运行时批注。

(继承自 AnnotatableBase)
EnsureMutable()

如果模型为只读,则引发。

(继承自 AnnotatableBase)
EnsureReadOnly()

如果模型不是只读的,则引发 。

(继承自 AnnotatableBase)
FindAnnotation(String)

获取具有给定名称的批注,如果不存在,则返回 null

(继承自 AnnotatableBase)
FindComplexPropertiesInHierarchy(String)

获取此类型、基类型或派生类型上具有给定名称的复杂属性。

FindComplexProperty(String)

获取具有给定名称的复杂属性。 null如果未定义具有给定名称的属性,则返回 。

FindDeclaredProperty(String)

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

FindIndexerProperty(Type)

返回默认索引器属性,该属性采用 String 值(如果存在)。

FindIndexerPropertyInfo()

PropertyInfo返回关联 CLR 类型的索引器的 (如果存在)。

FindMember(String)

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

FindMembersInHierarchy(String)

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

FindProperties(IEnumerable<String>)

查找给定实体类型上的匹配属性。 null如果未找到任何属性,则返回 。

FindPropertiesInHierarchy(String)

获取此类型、基类型或派生类型上具有给定名称的属性。

FindProperty(String)

获取具有给定名称的属性。 null如果未定义具有给定名称的属性,则返回 。

FindRuntimeAnnotation(String)

获取具有给定名称的运行时注释,如果不存在,则返回 null

(继承自 AnnotatableBase)
GetAnnotation(String)

获取具有给定名称的批注,如果不存在,则引发该批注。

(继承自 AnnotatableBase)
GetAnnotations()

获取当前对象上的所有批注。

(继承自 AnnotatableBase)
GetComplexProperties()

获取在此类型上定义的复杂属性。

GetDeclaredComplexProperties()

获取在此类型上声明的复杂属性。

GetDeclaredMembers()

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

GetDeclaredProperties()

获取在此类型上声明的所有标量属性。

GetDerivedTypes()

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

GetDerivedTypes<T>()

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

GetFlattenedComplexProperties()

返回此类型中的所有 RuntimeComplexProperty 成员以及所有嵌套复杂类型(如果有)。

GetFlattenedDeclaredProperties()

返回此类型中的所有 IProperty 成员以及所有嵌套复杂类型(如果有)。

GetFlattenedProperties()

返回此类型中的所有 IProperty 成员以及所有嵌套复杂类型(如果有)。

GetMembers()

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

获取具有给定名称的运行时注释的值,如果不存在,请添加该值。

(继承自 AnnotatableBase)
GetProperties()

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,恕不另行通知。 应仅在代码中直接使用它,并且非常谨慎,并且知道在更新到新的 Entity Framework Core 版本时,这样做可能会导致应用程序失败。

GetRuntimeAnnotations()

获取当前对象上的所有运行时注释。

(继承自 AnnotatableBase)
GetSnapshottableMembers()

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,恕不另行通知。 应仅在代码中直接使用它,并且非常谨慎,并且知道在更新到新的 Entity Framework Core 版本时,这样做可能会导致应用程序失败。

OnAnnotationSet(String, Annotation, Annotation)

设置或删除批注时调用。

(继承自 AnnotatableBase)
RemoveAnnotation(String)

从此对象中删除给定的批注。

(继承自 AnnotatableBase)
RemoveRuntimeAnnotation(String)

从此对象中删除给定的运行时注释。

(继承自 AnnotatableBase)
SetAnnotation(String, Annotation, Annotation)

设置存储在给定键下的批注。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
SetAnnotation(String, Object)

设置存储在给定键下的批注。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
SetRuntimeAnnotation(String, Annotation, Annotation)

设置存储在给定键下的运行时注释。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
SetRuntimeAnnotation(String, Object)

设置存储在给定键下的运行时注释。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
ToEnumerable<T>(T)

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,恕不另行通知。 应仅在代码中直接使用它,并且非常谨慎,并且知道在更新到新的 Entity Framework Core 版本时,这样做可能会导致应用程序失败。

显式接口实现

IAnnotatable.AddRuntimeAnnotation(String, Object)

向此对象添加运行时注释。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
IAnnotatable.FindRuntimeAnnotation(String)

获取具有给定名称的运行时注释,如果不存在,则返回 null

(继承自 AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

获取当前 对象上的所有运行时注释。

(继承自 AnnotatableBase)
IAnnotatable.RemoveRuntimeAnnotation(String)

从此对象中删除给定的运行时注释。

(继承自 AnnotatableBase)
IAnnotatable.SetRuntimeAnnotation(String, Object)

设置存储在给定键下的运行时注释。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
IReadOnlyAnnotatable.FindAnnotation(String)

获取具有给定名称的批注,如果不存在,则返回 null

(继承自 AnnotatableBase)
IReadOnlyAnnotatable.GetAnnotations()

获取当前对象上的所有批注。

(继承自 AnnotatableBase)
IReadOnlyAnnotatable.Item[String]

获取具有给定名称的批注的值,如果不存在,则返回 null 该值。

(继承自 AnnotatableBase)
IReadOnlyTypeBase.FindComplexProperty(String)

获取具有给定名称的复杂属性。 null如果未定义具有给定名称的属性,则返回 。

IReadOnlyTypeBase.FindDeclaredComplexProperty(String)

查找在具有给定名称的类型上声明的属性。 不返回在基类型上定义的属性。

IReadOnlyTypeBase.FindDeclaredProperty(String)

查找在具有给定名称的类型上声明的属性。 不返回在基类型上定义的属性。

IReadOnlyTypeBase.FindMember(String)

获取具有给定名称的成员。 null如果未定义具有给定名称的成员,则返回 。

IReadOnlyTypeBase.FindMembersInHierarchy(String)

获取此类型、基类型或派生类型上具有给定名称的成员。

IReadOnlyTypeBase.FindProperties(IReadOnlyList<String>)

查找给定类型上的匹配属性。 null如果未找到任何属性,则返回 。

IReadOnlyTypeBase.FindProperty(String)

获取具有给定名称的属性。 null如果未定义具有给定名称的属性,则返回 。

IReadOnlyTypeBase.GetChangeTrackingStrategy()

获取用于此类型的更改跟踪策略。 此策略指示上下文如何检测类型实例的属性更改。

IReadOnlyTypeBase.GetComplexProperties()

获取在此类型和基类型上定义的复杂属性。

IReadOnlyTypeBase.GetDeclaredComplexProperties()

获取在此类型上声明的复杂属性。

IReadOnlyTypeBase.GetDeclaredMembers()

获取在此类型上声明的成员。

IReadOnlyTypeBase.GetDeclaredProperties()

获取在此类型上声明的所有标量属性。

IReadOnlyTypeBase.GetDerivedComplexProperties()

获取从此类型派生的类型上声明的复杂属性。

IReadOnlyTypeBase.GetDerivedProperties()

获取从此类型派生的类型上声明的所有标量属性。

IReadOnlyTypeBase.GetMembers()

获取在此类型和基类型上定义的成员。

IReadOnlyTypeBase.GetProperties()

获取在此类型上定义的所有标量属性。

IReadOnlyTypeBase.GetPropertyAccessMode()

获取 PropertyAccessMode 用于此类型的属性和导航的 。

IReadOnlyTypeBase.HasSharedClrType

获取一个值,该值指示此结构类型是否映射到 Type 其他结构类型也映射到的 。

IReadOnlyTypeBase.IsPropertyBag

获取一个值,该值指示此结构类型是否具有能够包含任意属性的索引器和可用于确定给定索引器属性是否包含值的方法。

IReadOnlyTypeBase.Model

获取此类型所属的模型。

IRuntimeTypeBase.GetConstructorBindingConfigurationSource()

表示模型中的结构类型。

IRuntimeTypeBase.GetServiceOnlyConstructorBindingConfigurationSource()

表示模型中的结构类型。

ITypeBase.FindComplexProperty(String)

获取具有给定名称的复杂属性。 null如果未定义具有给定名称的属性,则返回 。

ITypeBase.FindDeclaredProperty(String)

查找在具有给定名称的类型上声明的属性。 不返回在基类型上定义的属性。

ITypeBase.FindMember(String)

获取具有给定名称的成员。 null如果未定义具有给定名称的成员,则返回 。

ITypeBase.FindMembersInHierarchy(String)

获取此类型、基类型或派生类型上具有给定名称的成员。

ITypeBase.FindProperty(String)

获取具有给定名称的属性。 null如果未定义具有给定名称的属性,则返回 。

ITypeBase.GetComplexProperties()

获取在此实体类型上定义的复杂属性。

ITypeBase.GetDeclaredComplexProperties()

获取在此实体类型上声明的复杂属性。

ITypeBase.GetDeclaredMembers()

获取在此类型上声明的成员。

ITypeBase.GetDeclaredProperties()

获取在此类型上声明的所有非导航属性。

ITypeBase.GetFlattenedComplexProperties()

返回实现 IComplexProperty的所有属性,包括复杂类型上的属性。

ITypeBase.GetFlattenedDeclaredProperties()

返回实现 IProperty的所有属性声明的属性,包括复杂类型上的属性。

ITypeBase.GetFlattenedProperties()

返回实现 IProperty的所有属性,包括复杂类型上的属性。

ITypeBase.GetMembers()

获取在此类型和基类型上定义的成员。

ITypeBase.GetProperties()

获取在此类型上定义的属性。

ITypeBase.GetSnapshottableMembers()

返回更改跟踪时可能需要快照值的所有成员。

ITypeBase.Model

获取此类型所属的模型。

扩展方法

FindMappingFragment(IReadOnlyTypeBase, StoreObjectIdentifier)

返回特定类似表的存储对象的类型映射。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

FindMappingFragment(ITypeBase, StoreObjectIdentifier)

返回特定类似表的存储对象的类型映射。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

GetContainerColumnName(IReadOnlyTypeBase)

获取类型映射到的容器列名。

GetDefaultMappings(ITypeBase)

返回类型将使用的默认映射。

GetDeleteStoredProcedure(IReadOnlyTypeBase)

返回类型为删除映射到的存储过程, null 如果未映射到存储过程,则返回该存储过程。

GetDeleteStoredProcedure(ITypeBase)

返回类型为删除映射到的存储过程, null 如果未映射到存储过程,则返回该存储过程。

GetDeleteStoredProcedureMappings(ITypeBase)

返回类型映射到的删除存储过程。

GetFunctionMappings(ITypeBase)

返回类型映射到的函数。

GetFunctionName(IReadOnlyTypeBase)

返回类型映射到 null 的函数的名称,如果未映射到函数,则返回 。

GetInsertStoredProcedure(IReadOnlyTypeBase)

返回类型为插入而映射到的存储过程, null 如果未映射到存储过程,则返回该存储过程。

GetInsertStoredProcedure(ITypeBase)

返回类型为插入而映射到的存储过程, null 如果未映射到存储过程,则返回该存储过程。

GetInsertStoredProcedureMappings(ITypeBase)

返回类型映射到的插入存储过程。

GetJsonPropertyName(IReadOnlyTypeBase)

获取映射到 JSON 列的给定实体使用的 JSON 属性值。

GetMappingFragments(IReadOnlyTypeBase)

返回所有配置的类型映射片段。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

GetMappingFragments(IReadOnlyTypeBase, StoreObjectType)

返回给定类型的所有已配置类型映射片段。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

GetMappingFragments(ITypeBase)

返回所有配置的类型映射片段。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

GetMappingFragments(ITypeBase, StoreObjectType)

返回给定类型的所有已配置类型映射片段。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

GetMappingStrategy(IReadOnlyTypeBase)

获取派生类型的映射策略。

GetSchema(IReadOnlyTypeBase)

返回包含映射表的数据库架构。

GetSqlQuery(IReadOnlyTypeBase)

返回用于为类型提供数据的 SQL 字符串, null 如果未映射到 SQL 字符串,则返回 。

GetSqlQueryMappings(ITypeBase)

返回 SQL 字符串映射。

GetTableMappings(ITypeBase)

返回类型映射到的表。

GetTableName(IReadOnlyTypeBase)

返回类型映射到 null 的表的名称,如果未映射到表,则返回 。

GetUpdateStoredProcedure(IReadOnlyTypeBase)

返回类型为更新映射到的存储过程,如果未 null 映射到存储过程,则返回该存储过程。

GetUpdateStoredProcedure(ITypeBase)

返回类型为更新映射到的存储过程,如果未 null 映射到存储过程,则返回该存储过程。

GetUpdateStoredProcedureMappings(ITypeBase)

返回类型映射到的更新存储过程。

GetViewMappings(ITypeBase)

返回类型映射到的视图。

GetViewName(IReadOnlyTypeBase)

返回类型映射到 null 的视图的名称,如果未映射到视图,则返回该视图的名称。

GetViewSchema(IReadOnlyTypeBase)

返回包含映射视图的数据库架构。

IsMappedToJson(IReadOnlyTypeBase)

获取一个值,该值指示指定的实体是否映射到 JSON 列。

适用于