Share via


IMutableComplexProperty Interface

Definition

Represents a complex property of a structural type.

public interface IMutableComplexProperty : Microsoft.EntityFrameworkCore.Metadata.IMutablePropertyBase, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyComplexProperty
type IMutableComplexProperty = interface
    interface IReadOnlyComplexProperty
    interface IReadOnlyPropertyBase
    interface IReadOnlyAnnotatable
    interface IMutablePropertyBase
    interface IMutableAnnotatable
Public Interface IMutableComplexProperty
Implements IMutablePropertyBase, IReadOnlyComplexProperty
Implements

Remarks

This interface is used during model creation and allows the metadata to be modified. Once the model is built, IComplexProperty represents a read-only view of the same metadata.

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

Properties

ClrType

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

(Inherited from IReadOnlyPropertyBase)
ComplexType

Gets the associated complex type.

DeclaringType

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

(Inherited from IReadOnlyPropertyBase)
FieldInfo

Gets the FieldInfo for the underlying CLR field for this property-like object. This may be null for shadow properties or if the backing field is not known.

(Inherited from IReadOnlyPropertyBase)
IsCollection

Gets a value indicating whether this property represents a collection.

(Inherited from IReadOnlyComplexProperty)
IsNullable

Gets or sets a value indicating whether this property can contain null.

Item[String]

Gets or sets the value of the annotation with the given name.

(Inherited from IMutableAnnotatable)
Name

Gets the name of this property-like object.

(Inherited from IReadOnlyPropertyBase)
PropertyInfo

Gets the PropertyInfo for the underlying CLR property for this property-like object. This may be null for shadow properties or if mapped directly to a field.

(Inherited from IReadOnlyPropertyBase)
Sentinel

Gets the sentinel value that indicates that this property is not set.

(Inherited from IReadOnlyPropertyBase)

Methods

AddAnnotation(String, Object)

Adds an annotation to this object. Throws if an annotation with the specified name already exists.

(Inherited from IMutableAnnotatable)
AddAnnotations(IEnumerable<IAnnotation>)

Adds annotations to an object.

(Inherited from IMutableAnnotatable)
AnnotationsToDebugString(Int32)

Gets the debug string for all annotations declared on the object.

(Inherited from IReadOnlyAnnotatable)
FindAnnotation(String)

Gets the annotation with the given name, returning null if it does not exist.

(Inherited from IMutableAnnotatable)
GetAnnotation(String)

Gets the annotation with the given name, throwing if it does not exist.

(Inherited from IReadOnlyAnnotatable)
GetAnnotations()

Gets all annotations on the current object.

(Inherited from IMutableAnnotatable)
GetFieldName()

Gets the name of the backing field for this property, or null if the backing field is not known.

(Inherited from IReadOnlyPropertyBase)
GetPropertyAccessMode()

Gets the PropertyAccessMode being used for this property-like object.

(Inherited from IReadOnlyPropertyBase)
IsIndexerProperty()

Gets a value indicating whether this is an indexer property. An indexer property is one that is accessed through an indexer on the entity class.

(Inherited from IReadOnlyPropertyBase)
IsShadowProperty()

Gets a value indicating whether this is a shadow property. A shadow property is one that does not have a corresponding property in the entity class. The current value for the property is stored in the ChangeTracker rather than being stored in instances of the entity class.

(Inherited from IReadOnlyPropertyBase)
RemoveAnnotation(String)

Removes the given annotation from this object.

(Inherited from IMutableAnnotatable)
SetAnnotation(String, Object)

Sets the annotation stored under the given key. Overwrites the existing annotation if an annotation with the specified name already exists.

(Inherited from IMutableAnnotatable)
SetField(String)

Sets the underlying CLR field that this property should use.

(Inherited from IMutablePropertyBase)
SetOrRemoveAnnotation(String, Object)

Sets the annotation stored under the given name. Overwrites the existing annotation if an annotation with the specified name already exists. Removes the existing annotation if null is supplied.

(Inherited from IMutableAnnotatable)
SetPropertyAccessMode(Nullable<PropertyAccessMode>)

Sets the PropertyAccessMode to use for this property.

(Inherited from IMutablePropertyBase)
ToDebugString(MetadataDebugStringOptions, Int32)

Creates a human-readable representation of the given metadata.

Warning: Do not rely on the format of the returned string. It is designed for debugging only and may change arbitrarily between releases.

(Inherited from IReadOnlyComplexProperty)

Explicit Interface Implementations

IReadOnlyComplexProperty.IsNullable

Gets a value indicating whether this property can contain null.

Applies to