语言

IMutablePropertyBase 接口

定义

导航和标量属性的基类型。

public interface IMutablePropertyBase : Microsoft.EntityFrameworkCore.Metadata.IMutableAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IPropertyBase
public interface IMutablePropertyBase : Microsoft.EntityFrameworkCore.Metadata.IMutableAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyPropertyBase
type IMutablePropertyBase = interface
    interface IPropertyBase
    interface IAnnotatable
    interface IMutableAnnotatable
type IMutablePropertyBase = interface
    interface IReadOnlyPropertyBase
    interface IReadOnlyAnnotatable
    interface IMutableAnnotatable
Public Interface IMutablePropertyBase
Implements IMutableAnnotatable, IPropertyBase
Public Interface IMutablePropertyBase
Implements IMutableAnnotatable, IReadOnlyPropertyBase
派生
实现

注解

此接口在创建模型期间使用,并允许修改元数据。 生成模型后, IReadOnlyPropertyBase 表示相同元数据的只读视图。

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

属性

名称 说明
ClrType

获取此属性类对象保存的值的类型。

(继承自 IReadOnlyPropertyBase)
DeclaringEntityType
已过时.

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

(继承自 IPropertyBase)
DeclaringType

获取此属性所属的类型。

FieldInfo

获取或设置此属性的基础 CLR 字段。 这可能 null 适用于阴影属性,或者属性的后盾字段未知。

IsCollection

获取一个值,该值指示属性是否为集合。

(继承自 IReadOnlyPropertyBase)
Item[String]

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

(继承自 IReadOnlyAnnotatable)
Name

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

(继承自 IReadOnlyPropertyBase)
PropertyInfo

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

(继承自 IReadOnlyPropertyBase)
Sentinel

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

(继承自 IReadOnlyPropertyBase)

方法

名称 说明
AddAnnotation(String, Object)

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

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

向对象添加批注。

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

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

(继承自 IAnnotatable)
AnnotationsToDebugString(Int32)

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

(继承自 IReadOnlyAnnotatable)
FindAnnotation(String)

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

(继承自 IReadOnlyAnnotatable)
FindRuntimeAnnotation(String)

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

(继承自 IAnnotatable)
FindRuntimeAnnotationValue(String)

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

(继承自 IAnnotatable)
GetAnnotation(String)

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

(继承自 IReadOnlyAnnotatable)
GetAnnotations()

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

(继承自 IReadOnlyAnnotatable)
GetCollectionAccessor()

获取 IClrCollectionAccessor 此属性(如果是集合导航或复杂属性)。

(继承自 IPropertyBase)
GetCurrentValueComparer()

获取用于 IComparer<T> 比较跟踪 IUpdateEntry 条目中的值。

(继承自 IPropertyBase)
GetFieldName()

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

(继承自 IReadOnlyPropertyBase)
GetGetter()

获取一个 IClrPropertyGetter 用于读取此属性的值。

(继承自 IPropertyBase)
GetIndex()

获取此属性的属性索引。

(继承自 IPropertyBase)
GetMemberInfo(Boolean, Boolean)

PropertyInfo FieldInfo获取或用于获取或设置给定属性的值。

(继承自 IPropertyBase)
GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

获取具有给定名称的运行时批注的值,如果不存在,则添加它。

(继承自 IAnnotatable)
GetPropertyAccessMode()

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

(继承自 IReadOnlyPropertyBase)
GetRuntimeAnnotations()

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

(继承自 IAnnotatable)
IsIndexerProperty()

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

(继承自 IReadOnlyPropertyBase)
IsShadowProperty()

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

(继承自 IReadOnlyPropertyBase)
RemoveAnnotation(String)

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

(继承自 IMutableAnnotatable)
RemoveRuntimeAnnotation(String)

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

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

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

(继承自 IMutableAnnotatable)
SetField(String)

设置此属性应使用的基础 CLR 字段。

SetOrRemoveAnnotation(String, Object)

设置存储在给定名称下的批注。 如果已存在具有指定名称的批注,则覆盖现有批注。 如果 null 已提供,则删除现有批注。

(继承自 IMutableAnnotatable)
SetPropertyAccessMode(Nullable<PropertyAccessMode>)

PropertyAccessMode设置要用于此属性的项。

SetRuntimeAnnotation(String, Object)

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

(继承自 IAnnotatable)

扩展方法

名称 说明
AddAnnotations(IMutableAnnotatable, IEnumerable<IAnnotation>)

向对象添加批注。

AnnotationsToDebugString(IAnnotatable, Int32)

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

GetAnnotation(IAnnotatable, String)

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

GetAnnotation(IMutableAnnotatable, String)

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

GetCurrentValueComparer(IPropertyBase)

获取用于 IComparer<T> 比较跟踪 IUpdateEntry 条目中的值。

GetFieldName(IPropertyBase)

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

GetGetter(IPropertyBase)

获取一个 IClrPropertyGetter 用于读取此属性的值。

请注意,对于阴影属性(IsShadowProperty(IPropertyBase))调用此方法是一个错误,因为此类属性没有关联 MemberInfo。

GetIndex(IPropertyBase)

获取此属性的属性索引。

GetMemberInfo(IPropertyBase, Boolean, Boolean)

PropertyInfo FieldInfo获取或用于获取或设置给定属性的值。

请注意,对于阴影属性(IsShadowProperty(IPropertyBase))调用此方法是一个错误,因为此类属性没有关联 MemberInfo。

GetOrAddAnnotation(IMutableAnnotatable, String, String)

获取具有给定键的现有批注,或添加一个新批注(如果不存在)。

GetPropertyAccessMode(IPropertyBase)

PropertyAccessMode获取用于此属性的用途。 null 指示正在使用默认属性访问模式。

IsIndexerProperty(IPropertyBase)

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

IsShadowProperty(IPropertyBase)
已过时.

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

SetField(IMutablePropertyBase, String)

设置此属性应使用的基础 CLR 字段。

支持字段通常按约定找到,如下所述: http://go.microsoft.com/fwlink/?LinkId=723277. 在约定找不到正确的字段的情况下,此方法可用于显式设置支持字段。

默认情况下,如果找到或指定了后盾字段,则当构造新对象时使用,通常是从数据库查询实体时。 属性用于所有其他访问。 可以通过调用 SetPropertyAccessMode(IMutablePropertyBase, Nullable<PropertyAccessMode>)来更改此更改。

SetOrRemoveAnnotation(IMutableAnnotatable, String, Object)

设置存储在给定名称下的批注。 如果已存在具有指定名称的批注,则覆盖现有批注。 如果 null 已提供,则删除现有批注。

SetPropertyAccessMode(IMutablePropertyBase, Nullable<PropertyAccessMode>)

PropertyAccessMode设置要用于此属性的项。

SetPropertyAccessMode(IMutablePropertyBase, Nullable<PropertyAccessMode>)

PropertyAccessMode设置要用于此属性的项。

适用于