Table of Contents

Class OwnedNavigationBuilder

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

Provides a simple API for configuring a navigation to an owned entity type.

public class OwnedNavigationBuilder : IInfrastructure<IConventionEntityTypeBuilder>
Inheritance
OwnedNavigationBuilder
Implements
Derived
Inherited Members
Extension Methods

Remarks

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

Constructors

OwnedNavigationBuilder(IMutableForeignKey)

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 OwnedNavigationBuilder(IMutableForeignKey ownership)

Parameters

ownership IMutableForeignKey

Properties

Builder

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 virtual InternalForeignKeyBuilder Builder { get; }

Property Value

InternalForeignKeyBuilder

DependentEntityType

Gets the dependent entity type used to configure this relationship.

[EntityFrameworkInternal]
protected virtual EntityType DependentEntityType { get; }

Property Value

EntityType

Metadata

The foreign key that represents this ownership.

public virtual IMutableForeignKey Metadata { get; }

Property Value

IMutableForeignKey

OwnedEntityType

The owned entity type being configured.

public virtual IMutableEntityType OwnedEntityType { get; }

Property Value

IMutableEntityType

PrincipalEntityType

Gets the principal entity type used to configure this relationship.

[EntityFrameworkInternal]
protected virtual EntityType PrincipalEntityType { get; }

Property Value

EntityType

Methods

FindRelatedEntityType(string, string?)

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 virtual EntityType FindRelatedEntityType(string relatedTypeName, string? navigationName)

Parameters

relatedTypeName string
navigationName string

Returns

EntityType

FindRelatedEntityType(Type, string?)

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 virtual EntityType FindRelatedEntityType(Type relatedType, string? navigationName)

Parameters

relatedType Type
navigationName string

Returns

EntityType

HasAnnotation(string, object?)

Adds or updates an annotation on the owned entity type. If an annotation with the key specified in annotation already exists its value will be updated.

public virtual OwnedNavigationBuilder HasAnnotation(string annotation, object? value)

Parameters

annotation string

The key of the annotation to be added or updated.

value object

The value to be stored in the annotation.

Returns

OwnedNavigationBuilder

The same builder instance so that multiple configuration calls can be chained.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Configures the ChangeTrackingStrategy to be used for this entity type. This strategy indicates how the context detects changes to properties for an instance of the entity type.

public virtual OwnedNavigationBuilder HasChangeTrackingStrategy(ChangeTrackingStrategy changeTrackingStrategy)

Parameters

changeTrackingStrategy ChangeTrackingStrategy

The change tracking strategy to be used.

Returns

OwnedNavigationBuilder

The same builder instance so that multiple configuration calls can be chained.

HasData(IEnumerable<object>)

Adds seed data to this entity type. It is used to generate data motion migrations.

public virtual DataBuilder HasData(IEnumerable<object> data)

Parameters

data IEnumerable<object>

A collection of seed data represented by anonymous types.

Returns

DataBuilder

An object that can be used to configure the model data.

HasData(params object[])

Adds seed data to this entity type. It is used to generate data motion migrations.

public virtual DataBuilder HasData(params object[] data)

Parameters

data object[]

An array of seed data represented by anonymous types.

Returns

DataBuilder

An object that can be used to configure the model data.

HasIndex(params string[])

Configures an index on the specified properties. If there is an existing index on the given set of properties, then the existing index will be returned for configuration.

public virtual IndexBuilder HasIndex(params string[] propertyNames)

Parameters

propertyNames string[]

The names of the properties that make up the index.

Returns

IndexBuilder

An object that can be used to configure the index.

HasKey(params string[])

Sets the properties that make up the primary key for this owned entity type.

public virtual KeyBuilder HasKey(params string[] propertyNames)

Parameters

propertyNames string[]

The names of the properties that make up the primary key.

Returns

KeyBuilder

An object that can be used to configure the primary key.

HasOne(string)

Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.

public virtual ReferenceNavigationBuilder HasOne(string navigationName)

Parameters

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

Returns

ReferenceNavigationBuilder

An object that can be used to configure the relationship.

Remarks

Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.

After calling this method, you should chain a call to WithMany(string?) or WithOne(string?) to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.

HasOne(string, string?)

Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.

public virtual ReferenceNavigationBuilder HasOne(string relatedTypeName, string? navigationName)

Parameters

relatedTypeName string

The name of the entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship. If no property is specified, the relationship will be configured without a navigation property on this end.

Returns

ReferenceNavigationBuilder

An object that can be used to configure the relationship.

Remarks

Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.

After calling this method, you should chain a call to WithMany(string?) or WithOne(string?) to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.

HasOne(Type, string?)

Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.

public virtual ReferenceNavigationBuilder HasOne(Type relatedType, string? navigationName = null)

Parameters

relatedType Type

The entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship. If no property is specified, the relationship will be configured without a navigation property on this end.

Returns

ReferenceNavigationBuilder

An object that can be used to configure the relationship.

Remarks

Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.

After calling this method, you should chain a call to WithMany(string?) or WithOne(string?) to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.

Ignore(string)

Excludes the given property from the entity type. This method is typically used to remove properties or navigations from the owned entity type that were added by convention.

public virtual OwnedNavigationBuilder Ignore(string propertyName)

Parameters

propertyName string

The name of the property to be removed from the entity type.

Returns

OwnedNavigationBuilder

IndexerProperty(Type, string)

Returns an object that can be used to configure a property of the entity type. If no property with the given name exists, then a new property will be added.

public virtual PropertyBuilder IndexerProperty(Type propertyType, string propertyName)

Parameters

propertyType Type

The type of the property to be configured.

propertyName string

The name of the property to be configured.

Returns

PropertyBuilder

An object that can be used to configure the property.

Remarks

Indexer properties are stored in the entity using an indexer supplying the provided property name.

IndexerProperty<TProperty>(string)

Returns an object that can be used to configure a property of the entity type. If no property with the given name exists, then a new property will be added.

public virtual PropertyBuilder<TProperty> IndexerProperty<TProperty>(string propertyName)

Parameters

propertyName string

The name of the property to be configured.

Returns

PropertyBuilder<TProperty>

An object that can be used to configure the property.

Type Parameters

TProperty

The type of the property to be configured.

Remarks

Indexer properties are stored in the entity using an indexer supplying the provided property name.

Navigation(string)

Returns an object that can be used to configure an existing navigation property from the owned type to its owner. It is an error for the navigation property not to exist.

public virtual NavigationBuilder Navigation(string navigationName)

Parameters

navigationName string

The name of the navigation property to be configured.

Returns

NavigationBuilder

An object that can be used to configure the navigation property.

OwnsMany(string, string)

Configures a relationship where the target entity is owned by (or part of) this entity.

public virtual OwnedNavigationBuilder OwnsMany(string ownedTypeName, string navigationName)

Parameters

ownedTypeName string

The name of the entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the owned type and the relationship.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsMany(string, string, Action<OwnedNavigationBuilder>)

Configures a relationship where the target entity is owned by (or part of) this entity.

public virtual OwnedNavigationBuilder OwnsMany(string ownedTypeName, string navigationName, Action<OwnedNavigationBuilder> buildAction)

Parameters

ownedTypeName string

The name of the entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

buildAction Action<OwnedNavigationBuilder>

An action that performs configuration of the owned type and the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the entity type.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsMany(string, Type, string)

Configures a relationship where the target entity is owned by (or part of) this entity.

public virtual OwnedNavigationBuilder OwnsMany(string ownedTypeName, Type ownedType, string navigationName)

Parameters

ownedTypeName string

The name of the entity type that this relationship targets.

ownedType Type

The CLR type of the entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the owned type and the relationship.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsMany(string, Type, string, Action<OwnedNavigationBuilder>)

Configures a relationship where the target entity is owned by (or part of) this entity.

public virtual OwnedNavigationBuilder OwnsMany(string ownedTypeName, Type ownedType, string navigationName, Action<OwnedNavigationBuilder> buildAction)

Parameters

ownedTypeName string

The name of the entity type that this relationship targets.

ownedType Type

The CLR type of the entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

buildAction Action<OwnedNavigationBuilder>

An action that performs configuration of the owned type and the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the entity type.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsMany(Type, string)

Configures a relationship where the target entity is owned by (or part of) this entity.

public virtual OwnedNavigationBuilder OwnsMany(Type ownedType, string navigationName)

Parameters

ownedType Type

The entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the owned type and the relationship.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsMany(Type, string, Action<OwnedNavigationBuilder>)

Configures a relationship where the target entity is owned by (or part of) this entity.

public virtual OwnedNavigationBuilder OwnsMany(Type ownedType, string navigationName, Action<OwnedNavigationBuilder> buildAction)

Parameters

ownedType Type

The entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

buildAction Action<OwnedNavigationBuilder>

An action that performs configuration of the owned type and the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the entity type.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsOne(string, string)

Configures a relationship where the target entity is owned by (or part of) this entity. The target entity key value is always propagated from the entity it belongs to.

public virtual OwnedNavigationBuilder OwnsOne(string ownedTypeName, string navigationName)

Parameters

ownedTypeName string

The name of the entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the relationship.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsOne(string, string, Action<OwnedNavigationBuilder>)

Configures a relationship where the target entity is owned by (or part of) this entity. The target entity key value is always propagated from the entity it belongs to.

public virtual OwnedNavigationBuilder OwnsOne(string ownedTypeName, string navigationName, Action<OwnedNavigationBuilder> buildAction)

Parameters

ownedTypeName string

The name of the entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

buildAction Action<OwnedNavigationBuilder>

An action that performs configuration of the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the entity type.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsOne(string, Type, string)

Configures a relationship where the target entity is owned by (or part of) this entity. The target entity key value is always propagated from the entity it belongs to.

public virtual OwnedNavigationBuilder OwnsOne(string ownedTypeName, Type ownedType, string navigationName)

Parameters

ownedTypeName string

The name of the entity type that this relationship targets.

ownedType Type

The CLR type of the entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the relationship.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsOne(string, Type, string, Action<OwnedNavigationBuilder>)

Configures a relationship where the target entity is owned by (or part of) this entity. The target entity key value is always propagated from the entity it belongs to.

public virtual OwnedNavigationBuilder OwnsOne(string ownedTypeName, Type ownedType, string navigationName, Action<OwnedNavigationBuilder> buildAction)

Parameters

ownedTypeName string

The name of the entity type that this relationship targets.

ownedType Type

The CLR type of the entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

buildAction Action<OwnedNavigationBuilder>

An action that performs configuration of the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the entity type.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsOne(Type, string)

Configures a relationship where the target entity is owned by (or part of) this entity. The target entity key value is always propagated from the entity it belongs to.

public virtual OwnedNavigationBuilder OwnsOne(Type ownedType, string navigationName)

Parameters

ownedType Type

The entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the relationship.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

OwnsOne(Type, string, Action<OwnedNavigationBuilder>)

Configures a relationship where the target entity is owned by (or part of) this entity. The target entity key value is always propagated from the entity it belongs to.

public virtual OwnedNavigationBuilder OwnsOne(Type ownedType, string navigationName, Action<OwnedNavigationBuilder> buildAction)

Parameters

ownedType Type

The entity type that this relationship targets.

navigationName string

The name of the reference navigation property on this entity type that represents the relationship.

buildAction Action<OwnedNavigationBuilder>

An action that performs configuration of the relationship.

Returns

OwnedNavigationBuilder

An object that can be used to configure the entity type.

Remarks

The target entity type for each ownership relationship is treated as a different entity type even if the navigation is of the same type. Configuration of the target entity type isn't applied to the target entity type of other ownership relationships.

Most operations on an owned entity require accessing it through the owner entity using the corresponding navigation.

After calling this method, you should chain a call to WithOwner(string?) to fully configure the relationship.

PrimitiveCollection(string)

Returns an object that can be used to configure a property of the owned type where that property represents a collection of primitive values, such as strings or integers. If no property with the given name exists, then a new property will be added.

public virtual PrimitiveCollectionBuilder PrimitiveCollection(string propertyName)

Parameters

propertyName string

The name of the property to be configured.

Returns

PrimitiveCollectionBuilder

An object that can be used to configure the property.

Remarks

When adding a new property with this overload the property name must match the name of a CLR property or field on the entity type. This overload cannot be used to add a new shadow state property.

PrimitiveCollection(Type, string)

Returns an object that can be used to configure a property of the owned type where that property represents a collection of primitive values, such as strings or integers. If no property with the given name exists, then a new property will be added.

public virtual PrimitiveCollectionBuilder PrimitiveCollection(Type propertyType, string propertyName)

Parameters

propertyType Type

The type of the property to be configured.

propertyName string

The name of the property to be configured.

Returns

PrimitiveCollectionBuilder

An object that can be used to configure the property.

Remarks

When adding a new property, if a property with the same name exists in the entity class then it will be added to the model. If no property exists in the entity class, then a new shadow state property will be added. A shadow state 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.

PrimitiveCollection<TProperty>(string)

Returns an object that can be used to configure a property of the owned type where that property represents a collection of primitive values, such as strings or integers. If no property with the given name exists, then a new property will be added.

public virtual PrimitiveCollectionBuilder<TProperty> PrimitiveCollection<TProperty>(string propertyName)

Parameters

propertyName string

The name of the property to be configured.

Returns

PrimitiveCollectionBuilder<TProperty>

An object that can be used to configure the property.

Type Parameters

TProperty

The type of the property to be configured.

Remarks

When adding a new property, if a property with the same name exists in the entity class then it will be added to the model. If no property exists in the entity class, then a new shadow state property will be added. A shadow state 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.

Property(string)

Returns an object that can be used to configure a property of the owned entity type. If no property with the given name exists, then a new property will be added.

public virtual PropertyBuilder Property(string propertyName)

Parameters

propertyName string

The name of the property to be configured.

Returns

PropertyBuilder

An object that can be used to configure the property.

Remarks

When adding a new property with this overload the property name must match the name of a CLR property or field on the entity type. This overload cannot be used to add a new shadow state property.

Property(Type, string)

Returns an object that can be used to configure a property of the owned entity type. If no property with the given name exists, then a new property will be added.

public virtual PropertyBuilder Property(Type propertyType, string propertyName)

Parameters

propertyType Type

The type of the property to be configured.

propertyName string

The name of the property to be configured.

Returns

PropertyBuilder

An object that can be used to configure the property.

Remarks

When adding a new property, if a property with the same name exists in the entity class then it will be added to the model. If no property exists in the entity class, then a new shadow state property will be added. A shadow state 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.

Property<TProperty>(string)

Returns an object that can be used to configure a property of the owned entity type. If no property with the given name exists, then a new property will be added.

public virtual PropertyBuilder<TProperty> Property<TProperty>(string propertyName)

Parameters

propertyName string

The name of the property to be configured.

Returns

PropertyBuilder<TProperty>

An object that can be used to configure the property.

Type Parameters

TProperty

The type of the property to be configured.

Remarks

When adding a new property, if a property with the same name exists in the entity class then it will be added to the model. If no property exists in the entity class, then a new shadow state property will be added. A shadow state 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.

UpdateBuilder<T>(Func<T>)

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 virtual T UpdateBuilder<T>(Func<T> configure)

Parameters

configure Func<T>

Returns

T

Type Parameters

T

UsePropertyAccessMode(PropertyAccessMode)

Sets the PropertyAccessMode to use for all properties of this entity type.

public virtual OwnedNavigationBuilder UsePropertyAccessMode(PropertyAccessMode propertyAccessMode)

Parameters

propertyAccessMode PropertyAccessMode

The PropertyAccessMode to use for properties of this entity type.

Returns

OwnedNavigationBuilder

The same builder instance so that multiple configuration calls can be chained.

Remarks

By default, the backing field, if one is found by convention 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. Calling this method will change that behavior for all properties of this entity type as described in the PropertyAccessMode enum.

Calling this method overrides for all properties of this entity type any access mode that was set on the model.

WithOwner(string?)

Configures the relationship to the owner.

public virtual OwnershipBuilder WithOwner(string? ownerReference = null)

Parameters

ownerReference string

The name of the reference navigation property pointing to the owner. If null or not specified, there is no navigation property pointing to the owner.

Returns

OwnershipBuilder

An object that can be used to configure the relationship.

Remarks

Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.