IMutableComplexType Interface

Definition

Represents the type of a complex property of a structural type.

public interface IMutableComplexType : Microsoft.EntityFrameworkCore.Metadata.IMutableTypeBase, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyComplexType
type IMutableComplexType = interface
    interface IReadOnlyComplexType
    interface IReadOnlyTypeBase
    interface IReadOnlyAnnotatable
    interface IMutableTypeBase
    interface IMutableAnnotatable
Public Interface IMutableComplexType
Implements IMutableTypeBase, IReadOnlyComplexType
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 CLR class that is used to represent instances of this type. Returns null if the type does not have a corresponding CLR class (known as a shadow type).

(Inherited from IReadOnlyTypeBase)
ComplexProperty

Gets the associated property.

ContainingEntityType

Gets this entity type or the one on which the complex property chain is declared.

(Inherited from IReadOnlyTypeBase)
HasSharedClrType

Gets a value indicating whether this structural type is mapped to a Type that other structural types are also mapped to.

(Inherited from IReadOnlyTypeBase)
IsPropertyBag

Gets a value indicating whether this structural type has an indexer which is able to contain arbitrary properties and a method that can be used to determine whether a given indexer property contains a value.

(Inherited from IReadOnlyTypeBase)
Item[String]

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

(Inherited from IMutableAnnotatable)
Model

Gets the model that this type belongs to.

(Inherited from IReadOnlyTypeBase)
Name

Gets the name of this type.

(Inherited from IReadOnlyTypeBase)

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)
AddComplexIndexerProperty(String, Type, Type, String, Boolean)

Adds a complex property backed up by an indexer to this type.

(Inherited from IMutableTypeBase)
AddComplexProperty(MemberInfo, String, Boolean)

Adds a complex property to this type.

(Inherited from IMutableTypeBase)
AddComplexProperty(String, Boolean)

Adds a complex property to this type.

(Inherited from IMutableTypeBase)
AddComplexProperty(String, Type, MemberInfo, Type, String, Boolean)

Adds a complex property to this type.

(Inherited from IMutableTypeBase)
AddComplexProperty(String, Type, Type, String, Boolean)

Adds a complex property to this type.

(Inherited from IMutableTypeBase)
AddIgnored(String)

Marks the given member name as ignored, preventing conventions from adding a matching property or navigation to the type.

(Inherited from IMutableTypeBase)
AddIndexerProperty(String, Type)

Adds a property backed up by an indexer to this type.

(Inherited from IMutableTypeBase)
AddProperty(MemberInfo)

Adds a property to this type.

(Inherited from IMutableTypeBase)
AddProperty(String)

Adds a property to this type.

(Inherited from IMutableTypeBase)
AddProperty(String, Type)

Adds a property to this type.

(Inherited from IMutableTypeBase)
AddProperty(String, Type, MemberInfo)

Adds a property to this type.

(Inherited from IMutableTypeBase)
AnnotationsToDebugString(Int32)

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

(Inherited from IReadOnlyAnnotatable)
DisplayName()

Gets the friendly display name for this structural type.

(Inherited from IReadOnlyTypeBase)
DisplayName(Boolean)

Gets the friendly display name for the given IReadOnlyTypeBase.

(Inherited from IReadOnlyTypeBase)
FindAnnotation(String)

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

(Inherited from IMutableAnnotatable)
FindComplexProperty(MemberInfo)

Gets a complex property with the given member info. Returns null if no property is found.

(Inherited from IReadOnlyTypeBase)
FindComplexProperty(String)

Gets the complex property with the given name. Returns null if no property with the given name is defined.

(Inherited from IReadOnlyTypeBase)
FindDeclaredComplexProperty(String)

Finds a property declared on the type with the given name. Does not return properties defined on a base type.

(Inherited from IReadOnlyTypeBase)
FindDeclaredProperty(String)

Finds a property declared on the type with the given name. Does not return properties defined on a base type.

(Inherited from IReadOnlyTypeBase)
FindIndexerPropertyInfo()

Returns the PropertyInfo for the indexer on the associated CLR type if one exists.

(Inherited from IReadOnlyTypeBase)
FindMember(String)

Gets the member with the given name. Returns null if no member with the given name is defined.

(Inherited from IReadOnlyTypeBase)
FindMembersInHierarchy(String)

Gets the members with the given name on this type, base types or derived types.

(Inherited from IReadOnlyTypeBase)
FindProperties(IReadOnlyList<String>)

Finds matching properties on the given type. Returns null if any property is not found.

(Inherited from IReadOnlyTypeBase)
FindProperty(MemberInfo)

Gets a property with the given member info. Returns null if no property is found.

(Inherited from IReadOnlyTypeBase)
FindProperty(String)

Gets the property with the given name. Returns null if no property with the given name is defined.

(Inherited from IReadOnlyTypeBase)
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)
GetChangeTrackingStrategy()

Gets the change tracking strategy being used for this type. This strategy indicates how the context detects changes to properties for an instance of the type.

(Inherited from IReadOnlyTypeBase)
GetComplexProperties()

Gets the complex properties defined on this type and base types.

(Inherited from IReadOnlyTypeBase)
GetDeclaredComplexProperties()

Gets the complex properties declared on this type.

(Inherited from IReadOnlyTypeBase)
GetDeclaredMembers()

Gets the members declared on this type.

(Inherited from IReadOnlyTypeBase)
GetDeclaredProperties()

Gets all scalar properties declared on this type.

(Inherited from IReadOnlyTypeBase)
GetDerivedComplexProperties()

Gets the complex properties declared on the types derived from this type.

(Inherited from IReadOnlyTypeBase)
GetDerivedProperties()

Gets all scalar properties declared on the types derived from this type.

(Inherited from IReadOnlyTypeBase)
GetIgnoredMembers()

Gets all the ignored members.

(Inherited from IMutableTypeBase)
GetMembers()

Gets the members defined on this type and base types.

(Inherited from IReadOnlyTypeBase)
GetNavigationAccessMode()

Gets the PropertyAccessMode being used for navigations of this type.

(Inherited from IReadOnlyTypeBase)
GetProperties()

Gets all scalar properties defined on this type.

(Inherited from IReadOnlyTypeBase)
GetProperty(String)

Gets a property with the given name.

(Inherited from IReadOnlyTypeBase)
GetPropertyAccessMode()

Gets the PropertyAccessMode being used for properties and navigations of this type.

(Inherited from IReadOnlyTypeBase)
IsAbstract()

Gets a value indicating whether this structural type represents an abstract type.

(Inherited from IReadOnlyTypeBase)
IsAssignableFrom(IReadOnlyTypeBase)

Determines if this type derives from (or is the same as) a given type.

(Inherited from IReadOnlyTypeBase)
IsContainedBy(Type)

Gets a value indicating whether given type is one of the containing types for this complex type.

(Inherited from IReadOnlyComplexType)
IsIgnored(String)

Indicates whether the given member name is ignored.

(Inherited from IMutableTypeBase)
IsStrictlyDerivedFrom(IReadOnlyTypeBase)

Determines if this type derives from (but is not the same as) a given type.

(Inherited from IReadOnlyTypeBase)
RemoveAnnotation(String)

Removes the given annotation from this object.

(Inherited from IMutableAnnotatable)
RemoveComplexProperty(IReadOnlyProperty)

Removes a property from this type.

(Inherited from IMutableTypeBase)
RemoveComplexProperty(String)

Removes a property from this type.

(Inherited from IMutableTypeBase)
RemoveIgnored(String)

Removes the ignored member name.

(Inherited from IMutableTypeBase)
RemoveProperty(IReadOnlyProperty)

Removes a property from this type.

(Inherited from IMutableTypeBase)
RemoveProperty(String)

Removes a property from this type.

(Inherited from IMutableTypeBase)
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)
SetChangeTrackingStrategy(Nullable<ChangeTrackingStrategy>)

Sets the change tracking strategy to use for this type. This strategy indicates how the context detects changes to properties for an instance of the type.

(Inherited from IMutableTypeBase)
SetNavigationAccessMode(Nullable<PropertyAccessMode>)

Sets the PropertyAccessMode to use for navigations of this entity type.

(Inherited from IMutableTypeBase)
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 properties and navigations of this type.

(Inherited from IMutableTypeBase)
ShortName()

Gets a short name for the given IReadOnlyTypeBase that can be used in other identifiers.

(Inherited from IReadOnlyTypeBase)
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 IReadOnlyComplexType)

Extension Methods

GetContainerColumnName(IReadOnlyComplexType)

Gets the container column name to which the complex type is mapped.

FindMappingFragment(IReadOnlyTypeBase, StoreObjectIdentifier)

Returns the type mapping for a particular table-like store object.

This method is typically used by database providers (and other extensions). It is generally not used in application code.

GetContainerColumnName(IReadOnlyTypeBase)

Gets the container column name to which the type is mapped.

GetDeleteStoredProcedure(IReadOnlyTypeBase)

Returns the stored procedure to which the type is mapped for deletes or null if not mapped to a stored procedure.

GetFunctionName(IReadOnlyTypeBase)

Returns the name of the function to which the type is mapped or null if not mapped to a function.

GetInsertStoredProcedure(IReadOnlyTypeBase)

Returns the stored procedure to which the type is mapped for inserts or null if not mapped to a stored procedure.

GetJsonPropertyName(IReadOnlyTypeBase)

Gets the value of JSON property name used for the given entity mapped to a JSON column.

GetMappingFragments(IReadOnlyTypeBase)

Returns all configured type mapping fragments.

This method is typically used by database providers (and other extensions). It is generally not used in application code.

GetMappingFragments(IReadOnlyTypeBase, StoreObjectType)

Returns all configured type mapping fragments of the given type.

This method is typically used by database providers (and other extensions). It is generally not used in application code.

GetMappingStrategy(IReadOnlyTypeBase)

Gets the mapping strategy for the derived types.

GetSchema(IReadOnlyTypeBase)

Returns the database schema that contains the mapped table.

GetSqlQuery(IReadOnlyTypeBase)

Returns the SQL string used to provide data for the type or null if not mapped to a SQL string.

GetTableName(IReadOnlyTypeBase)

Returns the name of the table to which the type is mapped or null if not mapped to a table.

GetUpdateStoredProcedure(IReadOnlyTypeBase)

Returns the stored procedure to which the type is mapped for updates or null if not mapped to a stored procedure.

GetViewName(IReadOnlyTypeBase)

Returns the name of the view to which the type is mapped or null if not mapped to a view.

GetViewSchema(IReadOnlyTypeBase)

Returns the database schema that contains the mapped view.

IsMappedToJson(IReadOnlyTypeBase)

Gets a value indicating whether the specified entity is mapped to a JSON column.

Applies to