Table of Contents

Class RuntimePropertyBase

Namespace
Microsoft.EntityFrameworkCore.Metadata
Assembly
Microsoft.EntityFrameworkCore.dll

Base type for navigations and properties.

public abstract class RuntimePropertyBase : AnnotatableBase, IRuntimePropertyBase, IPropertyBase, IReadOnlyPropertyBase, IAnnotatable, IReadOnlyAnnotatable
Inheritance
RuntimePropertyBase
Implements
Derived
Inherited Members
Extension Methods

Remarks

See Modeling entity types and relationships for more information and examples.

Constructors

RuntimePropertyBase(string, PropertyInfo?, FieldInfo?, PropertyAccessMode)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

[EntityFrameworkInternal]
protected RuntimePropertyBase(string name, PropertyInfo? propertyInfo, FieldInfo? fieldInfo, PropertyAccessMode propertyAccessMode)

Parameters

name string
propertyInfo PropertyInfo
fieldInfo FieldInfo
propertyAccessMode PropertyAccessMode

Properties

ClrType

Gets the type of value that this property-like object holds.

protected abstract Type ClrType { get; }

Property Value

Type

DeclaringType

Gets the type that this property-like object belongs to.

public abstract RuntimeTypeBase DeclaringType { get; }

Property Value

RuntimeTypeBase

Name

Gets the name of this property-like object.

public virtual string Name { get; }

Property Value

string

Sentinel

public abstract object? Sentinel { get; }

Property Value

object

Methods

SetAccessors(PropertyAccessors)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

[EntityFrameworkInternal]
public virtual void SetAccessors(PropertyAccessors accessors)

Parameters

accessors PropertyAccessors

SetGetter<TEntity, TStructuralType, TValue>(Func<TEntity, TValue>, Func<TEntity, bool>, Func<TStructuralType, TValue>, Func<TStructuralType, bool>)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

[EntityFrameworkInternal]
public virtual void SetGetter<TEntity, TStructuralType, TValue>(Func<TEntity, TValue> getter, Func<TEntity, bool> hasDefaultValue, Func<TStructuralType, TValue> structuralTypeGetter, Func<TStructuralType, bool> hasStructuralTypeSentinelValue) where TEntity : class

Parameters

getter Func<TEntity, TValue>
hasDefaultValue Func<TEntity, bool>
structuralTypeGetter Func<TStructuralType, TValue>
hasStructuralTypeSentinelValue Func<TStructuralType, bool>

Type Parameters

TEntity
TStructuralType
TValue

SetSetter<TEntity, TValue>(Action<TEntity, TValue>)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

[EntityFrameworkInternal]
public virtual void SetSetter<TEntity, TValue>(Action<TEntity, TValue> setter) where TEntity : class

Parameters

setter Action<TEntity, TValue>

Type Parameters

TEntity
TValue