Partager via


IMutableProperty Interface

Definition

Represents a scalar property of a structural type.

public interface IMutableProperty : Microsoft.EntityFrameworkCore.Metadata.IMutableAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IProperty
public interface IMutableProperty : Microsoft.EntityFrameworkCore.Metadata.IMutablePropertyBase, Microsoft.EntityFrameworkCore.Metadata.IProperty
public interface IMutableProperty : Microsoft.EntityFrameworkCore.Metadata.IMutablePropertyBase, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyProperty
type IMutableProperty = interface
    interface IProperty
    interface IPropertyBase
    interface IAnnotatable
    interface IMutableAnnotatable
type IMutableProperty = interface
    interface IProperty
    interface IPropertyBase
    interface IAnnotatable
    interface IMutablePropertyBase
    interface IMutableAnnotatable
type IMutableProperty = interface
    interface IReadOnlyProperty
    interface IReadOnlyPropertyBase
    interface IReadOnlyAnnotatable
    interface IMutablePropertyBase
    interface IMutableAnnotatable
Public Interface IMutableProperty
Implements IMutableAnnotatable, IProperty
Public Interface IMutableProperty
Implements IMutablePropertyBase, IProperty
Public Interface IMutableProperty
Implements IMutablePropertyBase, IReadOnlyProperty
Implements

Remarks

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

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

Properties

AfterSaveBehavior

Gets a value indicating whether or not this property can be modified after the entity is saved to the database.

If Throw, then an exception will be thrown if a new value is assigned to this property after the entity exists in the database.

If Ignore, then any modification to the property value of an entity that already exists in the database will be ignored.

BeforeSaveBehavior

Gets a value indicating whether or not this property can be modified before the entity is saved to the database.

If Throw, then an exception will be thrown if a value is assigned to this property when it is in the Added state.

If Ignore, then any value set will be ignored when it is in the Added state.

ClrType

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

(Inherited from IReadOnlyPropertyBase)
DeclaringEntityType
Obsolete.

Gets the entity type that this property belongs to.

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)
IsConcurrencyToken

Gets or sets a value indicating whether this property is used as a concurrency token. When a property is configured as a concurrency token the value in the database will be checked when an instance of this entity type is updated or deleted during SaveChanges() to ensure it has not changed since the instance was retrieved from the database. If it has changed, an exception will be thrown and the changes will not be applied to the database.

IsNullable

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

IsPrimitiveCollection

A property is a primitive collection if it has an element type that matches the element type of the CLR type.

(Inherited from IReadOnlyProperty)
IsReadOnlyAfterSave
Obsolete.

This property is obsolete. Use BeforeSaveBehavior instead.

IsReadOnlyBeforeSave
Obsolete.

This property is obsolete. Use BeforeSaveBehavior instead.

IsStoreGeneratedAlways
Obsolete.

This property is obsolete. Use BeforeSaveBehavior or AfterSaveBehavior instead.

Item[String]

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

(Inherited from IReadOnlyAnnotatable)
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)
RequiresValueGenerator

Gets or sets a value indicating whether this property requires a ValueGenerator to generate values when new entities are added to the context.

Sentinel

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

ValueGenerated

Gets or sets a value indicating when a value for this property will be generated by the database. Even when the property is set to be generated by the database, EF may still attempt to save a specific value (rather than having one generated by the database) when the entity is added and a value is assigned, or the property is marked as modified for an existing entity. See GetBeforeSaveBehavior() and GetAfterSaveBehavior() for more information and examples.

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)
AddRuntimeAnnotation(String, Object)

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

(Inherited from IAnnotatable)
AnnotationsToDebugString(Int32)

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

(Inherited from IReadOnlyAnnotatable)
CreateKeyEqualityComparer<TProperty>()

Creates an IEqualityComparer<T> for values of the given property type.

(Inherited from IProperty)
FindAnnotation(String)

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

(Inherited from IReadOnlyAnnotatable)
FindContainingPrimaryKey()

Gets the primary key that uses this property (including a composite primary key in which this property is included).

FindFirstPrincipal()

Finds the first principal property that the given property is constrained by if the given property is part of a foreign key.

FindRuntimeAnnotation(String)

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

(Inherited from IAnnotatable)
FindRuntimeAnnotationValue(String)

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

(Inherited from IAnnotatable)
FindTypeMapping()

Returns the type mapping for this property.

(Inherited from IReadOnlyProperty)
GetAfterSaveBehavior()

Gets a value indicating whether or not this property can be modified after the entity is saved to the database.

(Inherited from IReadOnlyProperty)
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 IReadOnlyAnnotatable)
GetBeforeSaveBehavior()

Gets a value indicating whether or not this property can be modified before the entity is saved to the database.

(Inherited from IReadOnlyProperty)
GetContainingForeignKeys()

Gets all foreign keys that use this property (including composite foreign keys in which this property is included).

GetContainingIndexes()

Gets all indexes that use this property (including composite indexes in which this property is included).

GetContainingKeys()

Gets all primary or alternate keys that use this property (including composite keys in which this property is included).

GetCurrentValueComparer()

Gets a IComparer<T> for comparing values in tracked IUpdateEntry entries.

(Inherited from IPropertyBase)
GetElementType()

Gets the configuration for elements of the primitive collection represented by this property.

GetFieldName()

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

(Inherited from IReadOnlyPropertyBase)
GetGetter()

Gets a IClrPropertyGetter for reading the value of this property.

(Inherited from IPropertyBase)
GetIndex()

Gets the property index for this property.

(Inherited from IPropertyBase)
GetJsonValueReaderWriter()

Gets the JsonValueReaderWriter for this property, or null if none is set.

(Inherited from IReadOnlyProperty)
GetKeyValueComparer()

Gets the ValueComparer to use with keys for this property, or null if none is set.

(Inherited from IReadOnlyProperty)
GetMaxLength()

Gets the maximum length of data that is allowed in this property. For example, if the property is a String then this is the maximum number of characters.

(Inherited from IReadOnlyProperty)
GetMemberInfo(Boolean, Boolean)

Gets the PropertyInfo or FieldInfo that should be used to get or set a value for the given property.

(Inherited from IPropertyBase)
GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

Gets the value of the runtime annotation with the given name, adding it if one does not exist.

(Inherited from IAnnotatable)
GetPrecision()

Gets the precision of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of digits.

(Inherited from IReadOnlyProperty)
GetPrincipals()

Finds the list of principal properties including the given property that the given property is constrained by if the given property is part of a foreign key.

GetPrincipals<T>()

Finds the list of principal properties including the given property that the given property is constrained by if the given property is part of a foreign key.

(Inherited from IReadOnlyProperty)
GetPropertyAccessMode()

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

(Inherited from IReadOnlyPropertyBase)
GetProviderClrType()

Gets the type that the property value will be converted to before being sent to the database provider.

(Inherited from IReadOnlyProperty)
GetProviderValueComparer()

Gets the ValueComparer to use for the provider values for this property.

(Inherited from IReadOnlyProperty)
GetRuntimeAnnotations()

Gets all the runtime annotations on the current object.

(Inherited from IAnnotatable)
GetScale()

Gets the scale of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of decimal places.

(Inherited from IReadOnlyProperty)
GetTypeMapping()

Returns the CoreTypeMapping for the given property from a finalized model.

(Inherited from IReadOnlyProperty)
GetValueComparer()

Gets the ValueComparer for this property, or null if none is set.

(Inherited from IReadOnlyProperty)
GetValueConverter()

Gets the custom ValueConverter set for this property.

(Inherited from IReadOnlyProperty)
GetValueGeneratorFactory()

Gets the factory that has been set to generate values for this property, if any.

(Inherited from IReadOnlyProperty)
IsForeignKey()

Gets a value indicating whether this property is used as a foreign key (or part of a composite foreign key).

(Inherited from IReadOnlyProperty)
IsIndex()

Gets a value indicating whether this property is used as an index (or part of a composite index).

(Inherited from IReadOnlyProperty)
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)
IsKey()

Gets a value indicating whether this property is used as the primary key or alternate key (or part of a composite primary or alternate key).

(Inherited from IReadOnlyProperty)
IsPrimaryKey()

Gets a value indicating whether this property is used as the primary key (or part of a composite primary key).

(Inherited from IReadOnlyProperty)
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)
IsUnicode()

Gets a value indicating whether or not the property can persist Unicode characters.

(Inherited from IReadOnlyProperty)
IsUniqueIndex()

Gets a value indicating whether this property is used as a unique index (or part of a unique composite index).

(Inherited from IReadOnlyProperty)
RemoveAnnotation(String)

Removes the given annotation from this object.

(Inherited from IMutableAnnotatable)
RemoveRuntimeAnnotation(String)

Removes the given runtime annotation from this object.

(Inherited from IAnnotatable)
SetAfterSaveBehavior(Nullable<PropertySaveBehavior>)

Gets or sets a value indicating whether this property can be modified after the entity is saved to the database.

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)
SetBeforeSaveBehavior(Nullable<PropertySaveBehavior>)

Gets or sets a value indicating whether this property can be modified before the entity is saved to the database.

SetElementType(Type)

Sets the configuration for elements of the primitive collection represented by this property.

SetField(String)

Sets the underlying CLR field that this property should use.

(Inherited from IMutablePropertyBase)
SetIsUnicode(Nullable<Boolean>)

Sets a value indicating whether this property can persist Unicode characters.

SetJsonValueReaderWriterType(Type)

Sets the type of JsonValueReaderWriter<TValue> to use for this property for this property.

SetMaxLength(Nullable<Int32>)

Sets the maximum length of data that is allowed in this property. For example, if the property is a String then this is the maximum number of characters.

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)
SetPrecision(Nullable<Int32>)

Sets the precision of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of digits.

SetPropertyAccessMode(Nullable<PropertyAccessMode>)

Sets the PropertyAccessMode to use for this property.

(Inherited from IMutablePropertyBase)
SetProviderClrType(Type)

Sets the type that the property value will be converted to before being sent to the database provider.

SetProviderValueComparer(Type)

Sets the custom ValueComparer to use for the provider values for this property.

SetProviderValueComparer(ValueComparer)

Sets the custom ValueComparer to use for the provider values for this property.

SetRuntimeAnnotation(String, Object)

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

(Inherited from IAnnotatable)
SetScale(Nullable<Int32>)

Sets the scale of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of decimal places.

SetTypeMapping(CoreTypeMapping)

Sets the CoreTypeMapping for the given property

SetValueComparer(Type)

Sets the custom ValueComparer for this property.

SetValueComparer(ValueComparer)

Sets the custom ValueComparer for this property.

SetValueConverter(Type)

Sets the custom ValueConverter for this property.

SetValueConverter(ValueConverter)

Sets the custom ValueConverter for this property.

SetValueGeneratorFactory(Func<IProperty,IEntityType,ValueGenerator>)

Sets the factory to use for generating values for this property, or null to clear any previously set factory.

SetValueGeneratorFactory(Func<IProperty,ITypeBase,ValueGenerator>)

Sets the factory to use for generating values for this property, or null to clear any previously set factory.

SetValueGeneratorFactory(Type)

Sets the factory to use for generating values for this property, or null to clear any previously set factory.

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 IReadOnlyProperty)

Explicit Interface Implementations

IPropertyBase.GetPropertyAccessMode()

Gets the PropertyAccessMode being used for this property. null indicates that the default property access mode is being used.

(Inherited from IProperty)
IReadOnlyProperty.GetElementType()

Gets the configuration for elements of the primitive collection represented by this property.

IReadOnlyProperty.IsConcurrencyToken

Gets a value indicating whether this property is used as a concurrency token. When a property is configured as a concurrency token the value in the database will be checked when an instance of this entity type is updated or deleted during SaveChanges() to ensure it has not changed since the instance was retrieved from the database. If it has changed, an exception will be thrown and the changes will not be applied to the database.

IReadOnlyProperty.IsNullable

Gets a value indicating whether this property can contain null.

IReadOnlyProperty.ValueGenerated

Gets a value indicating when a value for this property will be generated by the database. Even when the property is set to be generated by the database, EF may still attempt to save a specific value (rather than having one generated by the database) when the entity is added and a value is assigned, or the property is marked as modified for an existing entity. See GetBeforeSaveBehavior() and GetAfterSaveBehavior() for more information and examples.

Extension Methods

GetJsonPropertyName(IProperty)

Returns the property name that the property is mapped to when targeting Cosmos.

GetJsonPropertyName(IReadOnlyProperty)

Returns the property name that the property is mapped to when targeting Cosmos.

GetPropertyName(IProperty)

Returns the property name used when targeting Cosmos.

GetVectorType(IReadOnlyProperty)

Returns the definition of the vector stored in this property.

SetJsonPropertyName(IMutableProperty, String)

Sets the property name that the property is mapped to when targeting Cosmos.

SetPropertyName(IMutableProperty, String)

Sets the property name used when targeting Cosmos.

SetVectorType(IMutableProperty, CosmosVectorType)

Sets the definition of the vector stored in this property.

AnnotationsToDebugString(IAnnotatable, Int32)

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

GetAnnotation(IAnnotatable, String)

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

IsColumnNullable(IProperty)

Checks whether or not the column mapped to the given IProperty will be nullable or not when created in the database.

This can depend not just on the property itself, but also how it is mapped. For example, non-nullable properties in a TPH type hierarchy will be mapped to nullable columns.

Scaffolding(IProperty)
AddAnnotations(IMutableAnnotatable, IEnumerable<IAnnotation>)

Adds annotations to an object.

GetAnnotation(IMutableAnnotatable, String)

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

GetOrAddAnnotation(IMutableAnnotatable, String, String)

Gets the existing annotation with a given key, or adds a new annotation if one does not exist.

SetOrRemoveAnnotation(IMutableAnnotatable, 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.

SetField(IMutablePropertyBase, String)

Sets the underlying CLR field that this property should use.

Backing fields are normally found by convention as described here: http://go.microsoft.com/fwlink/?LinkId=723277. This method is useful for setting backing fields explicitly in cases where the correct field is not found by convention.

By default, the backing field, if one is found or has been specified, is used when new objects are constructed, typically when entities are queried from the database. Properties are used for all other accesses. This can be changed by calling SetPropertyAccessMode(IMutablePropertyBase, Nullable<PropertyAccessMode>).

SetPropertyAccessMode(IMutablePropertyBase, Nullable<PropertyAccessMode>)

Sets the PropertyAccessMode to use for this property.

SetPropertyAccessMode(IMutablePropertyBase, Nullable<PropertyAccessMode>)

Sets the PropertyAccessMode to use for this property.

FindContainingPrimaryKey(IMutableProperty)

Gets the primary key that uses this property (including a composite primary key in which this property is included).

FindFirstPrincipal(IMutableProperty)

Finds the first principal property that the given property is constrained by if the given property is part of a foreign key.

FindPrincipals(IMutableProperty)
Obsolete.

Finds the list of principal properties including the given property that the given property is constrained by if the given property is part of a foreign key.

GetContainingForeignKeys(IMutableProperty)

Gets all foreign keys that use this property (including composite foreign keys in which this property is included).

GetContainingIndexes(IMutableProperty)

Gets all indexes that use this property (including composite indexes in which this property is included).

GetContainingKeys(IMutableProperty)

Gets all primary or alternate keys that use this property (including composite keys in which this property is included).

GetContainingPrimaryKey(IMutableProperty)
Obsolete.

Gets the primary key that uses this property (including a composite primary key in which this property is included).

IsUnicode(IMutableProperty, Nullable<Boolean>)

Sets a value indicating whether or not this property can persist Unicode characters.

SetAfterSaveBehavior(IMutableProperty, Nullable<PropertySaveBehavior>)

Gets or sets a value indicating whether this property can be modified after the entity is saved to the database.

If Throw, then an exception will be thrown if a new value is assigned to this property after the entity exists in the database.

If Ignore, then any modification to the property value of an entity that already exists in the database will be ignored.

SetBeforeSaveBehavior(IMutableProperty, Nullable<PropertySaveBehavior>)

Gets or sets a value indicating whether this property can be modified before the entity is saved to the database.

If Throw, then an exception will be thrown if a value is assigned to this property when it is in the Added state.

If Ignore, then any value set will be ignored when it is in the Added state.

SetIsUnicode(IMutableProperty, Nullable<Boolean>)

Sets a value indicating whether this property can persist Unicode characters.

SetKeyValueComparer(IMutableProperty, ValueComparer)
Obsolete.

Sets the custom ValueComparer for this property when performing key comparisons.

SetMaxLength(IMutableProperty, Nullable<Int32>)

Sets the maximum length of data that is allowed in this property. For example, if the property is a String ' then this is the maximum number of characters.

SetPrecision(IMutableProperty, Nullable<Int32>)

Sets the precision of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of digits.

SetProviderClrType(IMutableProperty, Type)

Sets the type that the property value will be converted to before being sent to the database provider.

SetScale(IMutableProperty, Nullable<Int32>)

Sets the scale of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of decimal places.

SetStructuralValueComparer(IMutableProperty, ValueComparer)
Obsolete.

Sets the custom ValueComparer for structural copies for this property.

SetTypeMapping(IMutableProperty, CoreTypeMapping)

Sets the CoreTypeMapping for the given property

SetValueComparer(IMutableProperty, ValueComparer)

Sets the custom ValueComparer for this property.

SetValueConverter(IMutableProperty, ValueConverter)

Sets the custom ValueConverter for this property.

SetValueGeneratorFactory(IMutableProperty, Func<IProperty,IEntityType,ValueGenerator>)

Sets the factory to use for generating values for this property, or null to clear any previously set factory.

Setting null does not disable value generation for this property, it just clears any generator explicitly configured for this property. The database provider may still have a value generator for the property type.

GetCurrentValueComparer(IPropertyBase)

Gets a IComparer<T> for comparing values in tracked IUpdateEntry entries.

GetFieldName(IPropertyBase)

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

GetGetter(IPropertyBase)

Gets a IClrPropertyGetter for reading the value of this property.

Note that it is an error to call this method for a shadow property (IsShadowProperty(IPropertyBase)) since such a property has no associated MemberInfo.

GetIndex(IPropertyBase)

Gets the property index for this property.

GetMemberInfo(IPropertyBase, Boolean, Boolean)

Gets the PropertyInfo or FieldInfo that should be used to get or set a value for the given property.

Note that it is an error to call this method for a shadow property (IsShadowProperty(IPropertyBase)) since such a property has no associated MemberInfo.

GetPropertyAccessMode(IPropertyBase)

Gets the PropertyAccessMode being used for this property. null indicates that the default property access mode is being used.

IsIndexerProperty(IPropertyBase)

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.

IsShadowProperty(IPropertyBase)
Obsolete.

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.

CreateKeyEqualityComparer<TProperty>(IProperty)

Creates an IEqualityComparer<T> for values of the given property type.

FindContainingPrimaryKey(IProperty)

Gets the primary key that uses this property (including a composite primary key in which this property is included).

FindFirstPrincipal(IProperty)

Finds the first principal property that the given property is constrained by if the given property is part of a foreign key.

FindMapping(IProperty)
Obsolete.

Returns the CoreTypeMapping for the given property.

FindPrincipals(IProperty)
Obsolete.

Finds the list of principal properties including the given property that the given property is constrained by if the given property is part of a foreign key.

FindTypeMapping(IProperty)

Returns the CoreTypeMapping for the given property.

GetAfterSaveBehavior(IProperty)
Obsolete.

Gets a value indicating whether or not this property can be modified after the entity is saved to the database.

If Throw, then an exception will be thrown if a new value is assigned to this property after the entity exists in the database.

If Ignore, then any modification to the property value of an entity that already exists in the database will be ignored.

GetBeforeSaveBehavior(IProperty)
Obsolete.

Gets a value indicating whether or not this property can be modified before the entity is saved to the database.

If Throw, then an exception will be thrown if a value is assigned to this property when it is in the Added state.

If Ignore, then any value set will be ignored when it is in the Added state.

GetContainingForeignKeys(IProperty)

Gets all foreign keys that use this property (including composite foreign keys in which this property is included).

GetContainingIndexes(IProperty)

Gets all indexes that use this property (including composite indexes in which this property is included).

GetContainingKeys(IProperty)

Gets all primary or alternate keys that use this property (including composite keys in which this property is included).

GetContainingPrimaryKey(IProperty)
Obsolete.

Gets the primary key that uses this property (including a composite primary key in which this property is included).

GetKeyValueComparer(IProperty)

Gets the ValueComparer to use with keys for this property, or null if none is set.

GetMaxLength(IProperty)

Gets the maximum length of data that is allowed in this property. For example, if the property is a String then this is the maximum number of characters.

GetPrecision(IProperty)

Gets the precision of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of digits.

GetProviderClrType(IProperty)

Gets the type that the property value will be converted to before being sent to the database provider.

GetScale(IProperty)

Gets the scale of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of decimal places.

GetStructuralValueComparer(IProperty)
Obsolete.

Gets the ValueComparer to use for structural copies for this property, or null if none is set.

GetTypeMapping(IProperty)

Returns the CoreTypeMapping for the given property from a finalized model.

GetValueComparer(IProperty)

Gets the ValueComparer for this property, or null if none is set.

GetValueConverter(IProperty)
Obsolete.

Gets the custom ValueConverter set for this property.

GetValueGeneratorFactory(IProperty)
Obsolete.

Gets the factory that has been set to generate values for this property, if any.

IsForeignKey(IProperty)
Obsolete.

Gets a value indicating whether this property is used as a foreign key (or part of a composite foreign key).

IsIndex(IProperty)
Obsolete.

Gets a value indicating whether this property is used as an index (or part of a composite index).

IsKey(IProperty)
Obsolete.

Gets a value indicating whether this property is used as the primary key or alternate key (or part of a composite primary or alternate key).

IsPrimaryKey(IProperty)
Obsolete.

Gets a value indicating whether this property is used as the primary key (or part of a composite primary key).

IsUnicode(IProperty)

Gets a value indicating whether or not the property can persist Unicode characters.

IsUniqueIndex(IProperty)
Obsolete.

Gets a value indicating whether this property is used as a unique index (or part of a unique composite index).

ToDebugString(IProperty, 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.

Relational(IMutableProperty)

Gets the relational database specific metadata for a property.

Relational(IProperty)

Gets the relational database specific metadata for a property.

FindColumn(IProperty, StoreObjectIdentifier)

Returns the column corresponding to this property if it's mapped to the given table-like store object.

FindOverrides(IMutableProperty, StoreObjectIdentifier)

Returns the property facet overrides 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.

FindOverrides(IProperty, StoreObjectIdentifier)

Returns the property facet overrides 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.

FindOverrides(IReadOnlyProperty, StoreObjectIdentifier)

Returns the property facet overrides 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.

FindRelationalMapping(IProperty)
Obsolete.

Returns the RelationalTypeMapping for the given property on a finalized model.

FindRelationalTypeMapping(IProperty, StoreObjectIdentifier)

Returns the RelationalTypeMapping for the given property on a finalized model.

FindRelationalTypeMapping(IProperty)

Returns the RelationalTypeMapping for the given property on a finalized model.

FindRelationalTypeMapping(IReadOnlyProperty, StoreObjectIdentifier)

Returns the RelationalTypeMapping for the given property on a finalized model.

FindRelationalTypeMapping(IReadOnlyProperty)

Returns the RelationalTypeMapping for the given property on a finalized model.

FindSharedStoreObjectRootProperty(IMutableProperty, StoreObjectIdentifier)

Finds the first IProperty that is mapped to the same column in a shared table-like object.

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

FindSharedStoreObjectRootProperty(IProperty, StoreObjectIdentifier)

Finds the first IProperty that is mapped to the same column in a shared table-like object.

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

FindSharedStoreObjectRootProperty(IReadOnlyProperty, StoreObjectIdentifier)

Finds the first IProperty that is mapped to the same column in a shared table-like object.

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

FindSharedTableRootPrimaryKeyProperty(IProperty)

Finds the IProperty that represents the same primary key property as the given property, but potentially in a shared root table.

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

GetCollation(IProperty, StoreObjectIdentifier)

Returns the collation to be used for the column.

GetCollation(IProperty)

Returns the collation to be used for the column.

GetCollation(IReadOnlyProperty, StoreObjectIdentifier)

Returns the collation to be used for the column.

GetCollation(IReadOnlyProperty)

Returns the collation to be used for the column.

GetColumnBaseName(IProperty)

Returns the base name of the column to which the property would be mapped.

GetColumnBaseName(IReadOnlyProperty)
Obsolete.

Returns the base name of the column to which the property would be mapped.

GetColumnName(IProperty, StoreObjectIdentifier)

Returns the name of the column to which the property is mapped for a particular table.

GetColumnName(IProperty)
Obsolete.

Returns the name of the table column to which the property is mapped.

GetColumnName(IReadOnlyProperty, StoreObjectIdentifier)

Returns the name of the column to which the property is mapped for a particular table.

GetColumnName(IReadOnlyProperty)

Returns the name of the column to which the property would be mapped.

GetColumnOrder(IReadOnlyProperty, StoreObjectIdentifier)

Returns the order of the column this property is mapped to for a particular table.

GetColumnOrder(IReadOnlyProperty)

Returns the order of the column this property is mapped to.

GetColumnType(IProperty, StoreObjectIdentifier)

Returns the database type of the column to which the property is mapped.

GetColumnType(IProperty)

Returns the database type of the column to which the property is mapped.

GetColumnType(IReadOnlyProperty, StoreObjectIdentifier)

Returns the database type of the column to which the property is mapped, or null if the database type could not be found.

GetColumnType(IReadOnlyProperty)

Returns the database type of the column to which the property is mapped, or null if the database type could not be found.

GetComment(IProperty, StoreObjectIdentifier)

Returns the comment for the column this property is mapped to.

GetComment(IProperty)

Returns the comment for the column this property is mapped to.

GetComment(IReadOnlyProperty, StoreObjectIdentifier)

Returns the comment for the column this property is mapped to.

GetComment(IReadOnlyProperty)

Returns the comment for the column this property is mapped to.

GetComputedColumnSql(IProperty, StoreObjectIdentifier)

Returns the SQL expression that is used as the computed value for the column this property is mapped to.

GetComputedColumnSql(IProperty)

Returns the SQL expression that is used as the computed value for the column this property is mapped to.

GetComputedColumnSql(IReadOnlyProperty, StoreObjectIdentifier)

Returns the SQL expression that is used as the computed value for the column this property is mapped to.

GetComputedColumnSql(IReadOnlyProperty)

Returns the SQL expression that is used as the computed value for the column this property is mapped to.

GetDefaultColumnBaseName(IProperty)

Returns the default base name of the column to which the property would be mapped

GetDefaultColumnBaseName(IReadOnlyProperty)
Obsolete.

Returns the default base name of the column to which the property would be mapped

GetDefaultColumnMappings(IProperty)

Returns the default columns to which the property would be mapped.

GetDefaultColumnName(IProperty, StoreObjectIdentifier)

Returns the default column name to which the property would be mapped.

GetDefaultColumnName(IProperty)
Obsolete.

Returns the default table column name to which the property would be mapped.

GetDefaultColumnName(IReadOnlyProperty, StoreObjectIdentifier)

Returns the default column name to which the property would be mapped.

GetDefaultColumnName(IReadOnlyProperty)

Returns the default base name of the column to which the property would be mapped

GetDefaultValue(IProperty, StoreObjectIdentifier)

Returns the object that is used as the default value for the column this property is mapped to.

GetDefaultValue(IProperty)

Returns the object that is used as the default value for the column this property is mapped to.

GetDefaultValue(IReadOnlyProperty, StoreObjectIdentifier)

Returns the object that is used as the default value for the column this property is mapped to.

GetDefaultValue(IReadOnlyProperty)

Returns the object that is used as the default value for the column this property is mapped to.

GetDefaultValueSql(IProperty, StoreObjectIdentifier)

Returns the SQL expression that is used as the default value for the column this property is mapped to.

GetDefaultValueSql(IProperty)

Returns the SQL expression that is used as the default value for the column this property is mapped to.

GetDefaultValueSql(IReadOnlyProperty, StoreObjectIdentifier)

Returns the SQL expression that is used as the default value for the column this property is mapped to.

GetDefaultValueSql(IReadOnlyProperty)

Returns the SQL expression that is used as the default value for the column this property is mapped to.

GetFunctionColumnMappings(IProperty)

Returns the function columns to which the property is mapped.

GetIsStored(IProperty, StoreObjectIdentifier)

Gets whether the value of the computed column this property is mapped to is stored in the database, or calculated when it is read.

GetIsStored(IProperty)

Gets whether the value of the computed column this property is mapped to is stored in the database, or calculated when it is read.

GetIsStored(IReadOnlyProperty, StoreObjectIdentifier)

Gets whether the value of the computed column this property is mapped to is stored in the database, or calculated when it is read.

GetIsStored(IReadOnlyProperty)

Gets whether the value of the computed column this property is mapped to is stored in the database, or calculated when it is read.

GetJsonPropertyName(IReadOnlyProperty)

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

GetMappedStoreObjects(IReadOnlyProperty, StoreObjectType)

Returns the table-like store objects to which this property is mapped.

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

GetMaxLength(IProperty, StoreObjectIdentifier)

Gets the maximum length of data that is allowed in this property. For example, if the property is a String then this is the maximum number of characters.

GetMaxLength(IReadOnlyProperty, StoreObjectIdentifier)

Gets the maximum length of data that is allowed in this property. For example, if the property is a String then this is the maximum number of characters.

GetOrCreateOverrides(IMutableProperty, StoreObjectIdentifier)

Returns the property facet overrides 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.

GetOverrides(IMutableProperty)

Returns all the property facet overrides.

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

GetOverrides(IReadOnlyProperty)

Returns all the property facet overrides.

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

GetPrecision(IProperty, StoreObjectIdentifier)

Gets the precision of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of digits.

GetPrecision(IReadOnlyProperty, StoreObjectIdentifier)

Gets the precision of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of digits.

GetRelationalTypeMapping(IProperty)

Returns the RelationalTypeMapping for the given property on a finalized model.

GetRelationalTypeMapping(IReadOnlyProperty)

Returns the RelationalTypeMapping for the given property on a finalized model.

GetScale(IProperty, StoreObjectIdentifier)

Gets the scale of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of decimal places.

GetScale(IReadOnlyProperty, StoreObjectIdentifier)

Gets the scale of data that is allowed in this property. For example, if the property is a Decimal then this is the maximum number of decimal places.

GetSqlQueryColumnMappings(IProperty)

Returns the SQL query columns to which the property is mapped.

GetTableColumnMappings(IProperty)

Returns the table columns to which the property is mapped.

GetViewColumnMappings(IProperty)

Returns the view columns to which the property is mapped.

IsColumnNullable(IProperty, StoreObjectIdentifier)

Checks whether the column mapped to the given IProperty will be nullable when created in the database.

This depends on the property itself and also how it is mapped. For example, derived non-nullable properties in a TPH type hierarchy will be mapped to nullable columns. As well as properties on optional types sharing the same table.

IsColumnNullable(IProperty)

Checks whether the column mapped to the given IProperty will be nullable when created in the database.

This depends on the property itself and also how it is mapped. For example, derived non-nullable properties in a TPH type hierarchy will be mapped to nullable columns. As well as properties on optional types sharing the same table.

IsColumnNullable(IReadOnlyProperty, StoreObjectIdentifier)

Checks whether the column mapped to the given property will be nullable when created in the database.

IsColumnNullable(IReadOnlyProperty)

Checks whether the column mapped to the given IProperty will be nullable when created in the database.

IsFixedLength(IProperty, StoreObjectIdentifier)

Returns a flag indicating if the property as capable of storing only fixed-length data, such as strings.

IsFixedLength(IProperty)

Returns a flag indicating if the property as capable of storing only fixed-length data, such as strings.

IsFixedLength(IReadOnlyProperty, StoreObjectIdentifier)

Returns a flag indicating whether the property is capable of storing only fixed-length data, such as strings.

IsFixedLength(IReadOnlyProperty)

Returns a flag indicating whether the property is capable of storing only fixed-length data, such as strings.

IsUnicode(IProperty, StoreObjectIdentifier)

Gets a value indicating whether or not the property can persist Unicode characters.

IsUnicode(IReadOnlyProperty, StoreObjectIdentifier)

Gets a value indicating whether or not the property can persist Unicode characters.

RemoveOverrides(IMutableProperty, StoreObjectIdentifier)

Removes the property facet overrides 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.

SetCollation(IMutableProperty, String)

Configures a collation to be used for column this property is mapped to.

SetColumnName(IMutableProperty, String, StoreObjectIdentifier)

Sets the column to which the property is mapped for a particular table-like store object.

SetColumnName(IMutableProperty, String)

Sets the column to which the property is mapped.

SetColumnOrder(IMutableProperty, Nullable<Int32>)

Sets the order of the column the property is mapped to.

SetColumnType(IMutableProperty, String)

Sets the database type of the column to which the property is mapped.

SetComment(IMutableProperty, String)

Configures a comment to be applied to the column this property is mapped to.

SetComputedColumnSql(IMutableProperty, String)

Sets the SQL expression that is used as the computed value for the column this property is mapped to.

SetDefaultValue(IMutableProperty, Object)

Sets the object that is used as the default value for the column this property is mapped to.

SetDefaultValueSql(IMutableProperty, String)

Sets the SQL expression that is used as the default value for the column this property is mapped to.

SetIsFixedLength(IMutableProperty, Nullable<Boolean>)

Sets a flag indicating whether the property is capable of storing only fixed-length data, such as strings.

SetIsStored(IMutableProperty, Nullable<Boolean>)

Sets whether the value of the computed column this property is mapped to is stored in the database, or calculated when it is read.

SetJsonPropertyName(IMutableProperty, String)

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

TryGetDefaultValue(IReadOnlyProperty, StoreObjectIdentifier, Object)

Returns the object that is used as the default value for the column this property is mapped to.

TryGetDefaultValue(IReadOnlyProperty, Object)

Returns the object that is used as the default value for the column this property is mapped to.

Sqlite(IMutableProperty)

Gets the SQLite specific metadata for a property.

Sqlite(IProperty)

Gets the SQLite specific metadata for a property.

GetGeometricDimension(IProperty)

Returns the dimension to use when creating a column for this property.

GetSrid(IProperty, StoreObjectIdentifier)

Returns the SRID to use when creating a column for this property.

GetSrid(IProperty)

Returns the SRID to use when creating a column for this property.

GetSrid(IReadOnlyProperty, StoreObjectIdentifier)

Returns the SRID to use when creating a column for this property.

GetSrid(IReadOnlyProperty)

Returns the SRID to use when creating a column for this property.

SetGeometricDimension(IMutableProperty, String)

Sets the dimension to use when creating a column for this property.

SetSrid(IMutableProperty, Nullable<Int32>)

Sets the SRID to use when creating a column for this property.

SqlServer(IMutableProperty)

Gets the SQL Server specific metadata for a property.

SqlServer(IProperty)

Gets the SQL Server specific metadata for a property.

FindHiLoSequence(IProperty, StoreObjectIdentifier)

Finds the ISequence in the model to use for the hi-lo pattern.

FindHiLoSequence(IProperty)

Finds the ISequence in the model to use for the hi-lo pattern.

FindHiLoSequence(IReadOnlyProperty, StoreObjectIdentifier)

Finds the ISequence in the model to use for the hi-lo pattern.

FindHiLoSequence(IReadOnlyProperty)

Finds the ISequence in the model to use for the hi-lo pattern.

FindSequence(IReadOnlyProperty, StoreObjectIdentifier)

Finds the ISequence in the model to use for the key value generation pattern.

FindSequence(IReadOnlyProperty)

Finds the ISequence in the model to use for the key value generation pattern.

GetHiLoSequenceName(IProperty, StoreObjectIdentifier)

Returns the name to use for the hi-lo sequence.

GetHiLoSequenceName(IProperty)

Returns the name to use for the hi-lo sequence.

GetHiLoSequenceName(IReadOnlyProperty, StoreObjectIdentifier)

Returns the name to use for the hi-lo sequence.

GetHiLoSequenceName(IReadOnlyProperty)

Returns the name to use for the hi-lo sequence.

GetHiLoSequenceSchema(IProperty, StoreObjectIdentifier)

Returns the schema to use for the hi-lo sequence.

GetHiLoSequenceSchema(IProperty)

Returns the schema to use for the hi-lo sequence.

GetHiLoSequenceSchema(IReadOnlyProperty, StoreObjectIdentifier)

Returns the schema to use for the hi-lo sequence.

GetHiLoSequenceSchema(IReadOnlyProperty)

Returns the schema to use for the hi-lo sequence.

GetIdentityIncrement(IProperty, StoreObjectIdentifier)

Returns the identity increment.

GetIdentityIncrement(IProperty)

Returns the identity increment.

GetIdentityIncrement(IReadOnlyProperty, StoreObjectIdentifier)

Returns the identity increment.

GetIdentityIncrement(IReadOnlyProperty)

Returns the identity increment.

GetIdentitySeed(IProperty, StoreObjectIdentifier)

Returns the identity seed.

GetIdentitySeed(IProperty)

Returns the identity seed.

GetIdentitySeed(IReadOnlyProperty, StoreObjectIdentifier)

Returns the identity seed.

GetIdentitySeed(IReadOnlyProperty)

Returns the identity seed.

GetSequenceName(IReadOnlyProperty, StoreObjectIdentifier)

Returns the name to use for the key value generation sequence.

GetSequenceName(IReadOnlyProperty)

Returns the name to use for the key value generation sequence.

GetSequenceSchema(IReadOnlyProperty, StoreObjectIdentifier)

Returns the schema to use for the key value generation sequence.

GetSequenceSchema(IReadOnlyProperty)

Returns the schema to use for the key value generation sequence.

GetValueGenerationStrategy(IProperty, StoreObjectIdentifier)

Returns the SqlServerValueGenerationStrategy to use for the property.

If no strategy is set for the property, then the strategy to use will be taken from the IModel.

GetValueGenerationStrategy(IProperty)

Returns the SqlServerValueGenerationStrategy to use for the property.

If no strategy is set for the property, then the strategy to use will be taken from the IModel.

GetValueGenerationStrategy(IReadOnlyProperty, StoreObjectIdentifier)

Returns the SqlServerValueGenerationStrategy to use for the property.

GetValueGenerationStrategy(IReadOnlyProperty)

Returns the SqlServerValueGenerationStrategy to use for the property.

IsSparse(IReadOnlyProperty, StoreObjectIdentifier)

Returns a value indicating whether the property's column is sparse.

IsSparse(IReadOnlyProperty)

Returns a value indicating whether the property's column is sparse.

SetHiLoSequenceName(IMutableProperty, String)

Sets the name to use for the hi-lo sequence.

SetHiLoSequenceSchema(IMutableProperty, String)

Sets the schema to use for the hi-lo sequence.

SetIdentityIncrement(IMutableProperty, Nullable<Int32>, StoreObjectIdentifier)

Sets the identity increment for a particular table.

SetIdentityIncrement(IMutableProperty, Nullable<Int32>)

Sets the identity increment.

SetIdentitySeed(IMutableProperty, Nullable<Int32>)

Sets the identity seed.

SetIdentitySeed(IMutableProperty, Nullable<Int64>, StoreObjectIdentifier)

Sets the identity seed for a particular table.

SetIdentitySeed(IMutableProperty, Nullable<Int64>)

Sets the identity seed.

SetIsSparse(IMutableProperty, Nullable<Boolean>)

Sets a value indicating whether the property's column is sparse.

SetSequenceName(IMutableProperty, String)

Sets the name to use for the key value generation sequence.

SetSequenceSchema(IMutableProperty, String)

Sets the schema to use for the key value generation sequence.

SetValueGenerationStrategy(IMutableProperty, Nullable<SqlServerValueGenerationStrategy>, StoreObjectIdentifier)

Sets the SqlServerValueGenerationStrategy to use for the property for a particular table.

SetValueGenerationStrategy(IMutableProperty, Nullable<SqlServerValueGenerationStrategy>)

Sets the SqlServerValueGenerationStrategy to use for the property.

Applies to