IReadOnlyProperty 接口

定义

表示结构类型的标量属性。

public interface IReadOnlyProperty : Microsoft.EntityFrameworkCore.Metadata.IReadOnlyPropertyBase
type IReadOnlyProperty = interface
    interface IReadOnlyPropertyBase
    interface IReadOnlyAnnotatable
Public Interface IReadOnlyProperty
Implements IReadOnlyPropertyBase
派生
实现

注解

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

属性

ClrType

获取此类似属性的对象包含的值的类型。

(继承自 IReadOnlyPropertyBase)
DeclaringEntityType
已过时。.

获取此属性所属的实体类型。

DeclaringType

获取此属性类对象所属的类型。

(继承自 IReadOnlyPropertyBase)
FieldInfo

FieldInfo获取此属性类似对象的基础 CLR 字段的 。 这可能 null 适用于阴影属性,或者如果支持字段未知。

(继承自 IReadOnlyPropertyBase)
IsConcurrencyToken

获取一个值,该值指示此属性是否用作并发令牌。 将属性配置为并发令牌时,将在期间更新或删除 SaveChanges() 此实体类型的实例时检查数据库中的值,以确保自从数据库中检索实例以来,该实例未发生更改。 如果已更改,则会引发异常,并且更改不会应用于数据库。

IsNullable

获取一个值,该值指示此属性是否可以包含 null

IsPrimitiveCollection

如果属性具有与 CLR 类型的元素类型匹配的元素类型,则属性是基元集合。

Item[String]

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

(继承自 IReadOnlyAnnotatable)
Name

获取此属性类似对象的名称。

(继承自 IReadOnlyPropertyBase)
PropertyInfo

PropertyInfo获取类似于此属性的对象的基础 CLR 属性的 。 这可能 null 适用于阴影属性或直接映射到字段。

(继承自 IReadOnlyPropertyBase)
Sentinel

获取 sentinel 值,该值指示未设置此属性。

(继承自 IReadOnlyPropertyBase)
ValueGenerated

获取一个值,该值指示数据库何时生成此属性的值。 即使属性设置为由数据库生成,EF 仍可能尝试 (保存特定值,而不是在添加实体并分配值或将属性标记为已修改现有实体时,数据库) 生成一个值。 有关详细信息和GetAfterSaveBehavior()示例,请参阅 GetBeforeSaveBehavior() 和 。

方法

AnnotationsToDebugString(Int32)

获取对象上声明的所有注释的调试字符串。

(继承自 IReadOnlyAnnotatable)
FindAnnotation(String)

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

(继承自 IReadOnlyAnnotatable)
FindContainingPrimaryKey()

获取使用此属性的主键 (包括) 包含此属性的复合主键。

FindFirstPrincipal()

如果给定属性是外键的一部分,则查找受给定属性约束的第一个主体属性。

FindTypeMapping()

返回此属性的类型映射。

GetAfterSaveBehavior()

获取一个值,该值指示在实体保存到数据库后是否可以修改此属性。

GetAnnotation(String)

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

(继承自 IReadOnlyAnnotatable)
GetAnnotations()

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

(继承自 IReadOnlyAnnotatable)
GetBeforeSaveBehavior()

获取一个值,该值指示在实体保存到数据库之前是否可以修改此属性。

GetContainingForeignKeys()

获取使用此属性的所有外键 (包括) 包含此属性的复合外键。

GetContainingIndexes()

获取使用此属性的所有索引 (包括) 包含此属性的复合索引。

GetContainingKeys()

获取使用此属性的所有主键或备用键 (包括) 包含此属性的复合键。

GetElementType()

获取由此属性表示的基元集合的元素的配置。

GetFieldName()

获取此属性的后备字段的名称,或者 null 如果后备字段未知,则为 。

(继承自 IReadOnlyPropertyBase)
GetJsonValueReaderWriter()

JsonValueReaderWriter获取此属性的 ;null如果未设置,则获取 。

GetKeyValueComparer()

ValueComparer获取要与此属性的键一起使用的 ;如果未设置任何设置,null则获取 。

GetMaxLength()

获取此属性中允许的最大数据长度。 例如,如果 属性为 , String 则这是最大字符数。

GetPrecision()

获取此属性中允许的数据的精度。 例如,如果 属性为 , Decimal 则这是最大位数。

GetPrincipals()

查找主体属性的列表,包括给定属性受约束的给定属性(如果给定属性是外键的一部分)。

GetPrincipals<T>()

查找主体属性的列表,包括给定属性受约束的给定属性(如果给定属性是外键的一部分)。

GetPropertyAccessMode()

PropertyAccessMode获取用于此属性类似对象的 。

(继承自 IReadOnlyPropertyBase)
GetProviderClrType()

获取属性值在发送到数据库提供程序之前将转换为的类型。

GetProviderValueComparer()

ValueComparer获取要用于此属性的提供程序值的 。

GetScale()

获取此属性中允许的数据比例。 例如,如果 属性为 , Decimal 则这是小数位数的最大位数。

GetTypeMapping()

CoreTypeMapping 最终完成的模型中返回给定属性的 。

GetValueComparer()

ValueComparer获取此属性的 ;null如果未设置,则获取 。

GetValueConverter()

获取此属性的自定义 ValueConverter 集。

GetValueGeneratorFactory()

获取已设置为为此属性生成值的工厂(如果有)。

IsForeignKey()

获取一个值,该值指示此属性是用作外键 (还是复合外键) 的一部分。

IsIndex()

获取一个值,该值指示此属性是用作索引 (还是复合索引) 的一部分。

IsIndexerProperty()

获取一个值,该值指示此是否为索引器属性。 索引器属性是通过实体类上的索引器访问的属性。

(继承自 IReadOnlyPropertyBase)
IsKey()

获取一个值,该值指示此属性是用作主键或备用键 (还是复合主键或备用键) 的一部分。

IsPrimaryKey()

获取一个值,该值指示此属性是用作主键 (还是复合主键) 的一部分。

IsShadowProperty()

获取一个值,该值指示此是否为阴影属性。 阴影属性是实体类中没有相应属性的阴影属性。 属性的当前值存储在 中, ChangeTracker 而不是存储在实体类的实例中。

(继承自 IReadOnlyPropertyBase)
IsUnicode()

获取一个值,该值指示属性是否可以持久保存 Unicode 字符。

IsUniqueIndex()

获取一个值,该值指示此属性是用作唯一索引 (还是用作唯一复合索引) 的一部分。

ToDebugString(MetadataDebugStringOptions, Int32)

创建给定元数据的可读表示形式。

警告:不要依赖于返回的字符串的格式。 它仅用于调试,可能会在发布之间任意更改。

扩展方法

GetJsonPropertyName(IReadOnlyProperty)

返回属性在面向 Cosmos 时映射到的属性名称。

FindOverrides(IReadOnlyProperty, StoreObjectIdentifier)

返回特定表类存储对象的属性分面替代。

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

FindRelationalTypeMapping(IReadOnlyProperty)

返回 RelationalTypeMapping 最终模型上给定属性的 。

FindRelationalTypeMapping(IReadOnlyProperty, StoreObjectIdentifier)

返回 RelationalTypeMapping 最终模型上给定属性的 。

FindSharedStoreObjectRootProperty(IReadOnlyProperty, StoreObjectIdentifier)

查找映射到类似共享表的对象中的同一列的第 IProperty 一个 。

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

GetCollation(IReadOnlyProperty)

返回要用于列的排序规则。

GetCollation(IReadOnlyProperty, StoreObjectIdentifier)

返回要用于列的排序规则。

GetColumnBaseName(IReadOnlyProperty)
已过时。.

返回属性将映射到的列的基名称。

GetColumnName(IReadOnlyProperty)

返回属性将映射到的列的名称。

GetColumnName(IReadOnlyProperty, StoreObjectIdentifier)

返回属性针对特定表映射到的列的名称。

GetColumnOrder(IReadOnlyProperty)

返回此属性映射到的列的顺序。

GetColumnOrder(IReadOnlyProperty, StoreObjectIdentifier)

返回此属性针对特定表映射到的列的顺序。

GetColumnType(IReadOnlyProperty)

如果找不到数据库类型, null 则返回属性映射到的列的数据库类型。

GetColumnType(IReadOnlyProperty, StoreObjectIdentifier)

如果找不到数据库类型, null 则返回属性映射到的列的数据库类型。

GetComment(IReadOnlyProperty)

返回此属性映射到的列的注释。

GetComment(IReadOnlyProperty, StoreObjectIdentifier)

返回此属性映射到的列的注释。

GetComputedColumnSql(IReadOnlyProperty)

返回用作此属性映射到的列的计算值的 SQL 表达式。

GetComputedColumnSql(IReadOnlyProperty, StoreObjectIdentifier)

返回用作此属性映射到的列的计算值的 SQL 表达式。

GetDefaultColumnBaseName(IReadOnlyProperty)
已过时。.

返回属性将映射到的列的默认基名称

GetDefaultColumnName(IReadOnlyProperty)

返回属性将映射到的列的默认基名称

GetDefaultColumnName(IReadOnlyProperty, StoreObjectIdentifier)

返回属性将映射到的默认列名。

GetDefaultValue(IReadOnlyProperty)

返回对象,该对象用作此属性映射到的列的默认值。

GetDefaultValue(IReadOnlyProperty, StoreObjectIdentifier)

返回对象,该对象用作此属性映射到的列的默认值。

GetDefaultValueSql(IReadOnlyProperty)

返回用作此属性映射到的列的默认值的 SQL 表达式。

GetDefaultValueSql(IReadOnlyProperty, StoreObjectIdentifier)

返回用作此属性映射到的列的默认值的 SQL 表达式。

GetIsStored(IReadOnlyProperty)

获取此属性映射到的计算列的值是存储在数据库中,还是在读取时计算。

GetIsStored(IReadOnlyProperty, StoreObjectIdentifier)

获取此属性映射到的计算列的值是存储在数据库中,还是在读取时计算。

GetJsonPropertyName(IReadOnlyProperty)

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

GetMappedStoreObjects(IReadOnlyProperty, StoreObjectType)

返回此属性映射到的类似表的存储对象。

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

GetMaxLength(IReadOnlyProperty, StoreObjectIdentifier)

获取此属性中允许的最大数据长度。 例如,如果 属性为 , String 则这是最大字符数。

GetOverrides(IReadOnlyProperty)

返回所有属性方面重写。

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

GetPrecision(IReadOnlyProperty, StoreObjectIdentifier)

获取此属性中允许的数据的精度。 例如,如果 属性为 , Decimal 则这是最大位数。

GetRelationalTypeMapping(IReadOnlyProperty)

返回 RelationalTypeMapping 最终模型上给定属性的 。

GetScale(IReadOnlyProperty, StoreObjectIdentifier)

获取此属性中允许的数据比例。 例如,如果 属性为 , Decimal 则这是小数位数的最大位数。

IsColumnNullable(IReadOnlyProperty)

检查映射到给定 IProperty 的列在数据库中创建时是否可为空。

IsColumnNullable(IReadOnlyProperty, StoreObjectIdentifier)

检查映射到给定属性的列在数据库中创建时是否可为 null。

IsFixedLength(IReadOnlyProperty)

返回一个标志,指示属性是否能够仅存储固定长度的数据,例如字符串。

IsFixedLength(IReadOnlyProperty, StoreObjectIdentifier)

返回一个标志,指示属性是否能够仅存储固定长度的数据,例如字符串。

IsUnicode(IReadOnlyProperty, StoreObjectIdentifier)

获取一个值,该值指示属性是否可以持久保存 Unicode 字符。

TryGetDefaultValue(IReadOnlyProperty, StoreObjectIdentifier, Object)

返回对象,该对象用作此属性映射到的列的默认值。

TryGetDefaultValue(IReadOnlyProperty, Object)

返回对象,该对象用作此属性映射到的列的默认值。

GetSrid(IReadOnlyProperty)

返回在为此属性创建列时要使用的 SRID。

GetSrid(IReadOnlyProperty, StoreObjectIdentifier)

返回在为此属性创建列时要使用的 SRID。

FindHiLoSequence(IReadOnlyProperty)

ISequence在模型中查找要用于 hi-lo 模式的 。

FindHiLoSequence(IReadOnlyProperty, StoreObjectIdentifier)

ISequence在模型中查找要用于 hi-lo 模式的 。

FindSequence(IReadOnlyProperty)

ISequence在模型中查找要用于键值生成模式的 。

FindSequence(IReadOnlyProperty, StoreObjectIdentifier)

ISequence在模型中查找要用于键值生成模式的 。

GetHiLoSequenceName(IReadOnlyProperty)

返回用于 hi-lo 序列的名称。

GetHiLoSequenceName(IReadOnlyProperty, StoreObjectIdentifier)

返回用于 hi-lo 序列的名称。

GetHiLoSequenceSchema(IReadOnlyProperty)

返回用于 hi-lo 序列的架构。

GetHiLoSequenceSchema(IReadOnlyProperty, StoreObjectIdentifier)

返回用于 hi-lo 序列的架构。

GetIdentityIncrement(IReadOnlyProperty)

返回标识增量。

GetIdentityIncrement(IReadOnlyProperty, StoreObjectIdentifier)

返回标识增量。

GetIdentitySeed(IReadOnlyProperty)

返回标识种子。

GetIdentitySeed(IReadOnlyProperty, StoreObjectIdentifier)

返回标识种子。

GetSequenceName(IReadOnlyProperty)

返回用于键值生成序列的名称。

GetSequenceName(IReadOnlyProperty, StoreObjectIdentifier)

返回用于键值生成序列的名称。

GetSequenceSchema(IReadOnlyProperty)

返回用于键值生成序列的架构。

GetSequenceSchema(IReadOnlyProperty, StoreObjectIdentifier)

返回用于键值生成序列的架构。

GetValueGenerationStrategy(IReadOnlyProperty)

返回 SqlServerValueGenerationStrategy 要用于 属性的 。

GetValueGenerationStrategy(IReadOnlyProperty, StoreObjectIdentifier)

返回 SqlServerValueGenerationStrategy 要用于 属性的 。

IsSparse(IReadOnlyProperty)

返回一个值,该值指示属性的列是否稀疏。

IsSparse(IReadOnlyProperty, StoreObjectIdentifier)

返回一个值,该值指示属性的列是否稀疏。

适用于