ReferenceEntry Class

Definition

Provides access to change tracking and loading information for a reference (i.e. non-collection) navigation property that associates this entity to another entity.

Instances of this class are returned from methods when using the ChangeTracker API and it is not designed to be directly constructed in your application code.

public class ReferenceEntry : Microsoft.EntityFrameworkCore.ChangeTracking.NavigationEntry
type ReferenceEntry = class
    inherit NavigationEntry
Public Class ReferenceEntry
Inherits NavigationEntry
Inheritance
Derived

Remarks

See Accessing tracked entities in EF Core and Loading related entities for more information.

Constructors

ReferenceEntry(InternalEntityEntry, INavigation)

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.

ReferenceEntry(InternalEntityEntry, 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.

Properties

CurrentValue

Gets or sets the value currently assigned to this property. If the current value is set using this property, the change tracker is aware of the change and DetectChanges() is not required for the context to detect the change.

(Inherited from MemberEntry)
EntityEntry

The EntityEntry to which this member belongs.

(Inherited from MemberEntry)
InternalEntry

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.

(Inherited from MemberEntry)
IsLoaded

Gets or sets a value indicating whether the entity or entities referenced by this navigation property are known to be loaded.

Loading entities from the database using Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>) or ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty,TProperty>>) , Load(), or LoadAsync(CancellationToken) will set this flag. Subsequent calls to Load() or LoadAsync(CancellationToken) will then be a no-op.

It is possible for IsLoaded to be false even if all related entities are loaded. This is because, depending on how entities are loaded, it is not always possible to know for sure that all entities in a related collection have been loaded. In such cases, calling Load() or LoadAsync(CancellationToken) will ensure all related entities are loaded and will set this flag to true.

(Inherited from NavigationEntry)
IsModified

Gets or sets a value indicating whether any of foreign key property values associated with this navigation property have been modified and should be updated in the database when SaveChanges() is called.

IsModified

Gets or sets a value indicating whether any of foreign key property values associated with this navigation property have been modified and should be updated in the database when SaveChanges() is called.

(Inherited from NavigationEntry)
Metadata

Gets the metadata that describes the facets of this property and how it maps to the database.

(Inherited from NavigationEntry)
TargetEntry

The EntityEntry of the entity this navigation targets.

Methods

Finder(Type)

This API supports the Entity Framework Core infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases.

(Inherited from NavigationEntry)
GetTargetEntry()

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.

Load()

Loads the entity or entities referenced by this navigation property, unless IsLoaded is already set to true.

Note that entities that are already being tracked are not overwritten with new data from the database.

Load()

Loads the entity or entities referenced by this navigation property, unless IsLoaded is already set to true.

Note that entities that are already being tracked are not overwritten with new data from the database.

(Inherited from NavigationEntry)
LoadAsync(CancellationToken)

Loads the entity or entities referenced by this navigation property, unless IsLoaded is already set to true.

Note that entities that are already being tracked are not overwritten with new data from the database.

Multiple active operations on the same context instance are not supported. Use await to ensure that any asynchronous operations have completed before calling another method on this context.

LoadAsync(CancellationToken)

Loads the entity or entities referenced by this navigation property, unless IsLoaded is already set to true.

Note that entities that are already being tracked are not overwritten with new data from the database.

Multiple active operations on the same context instance are not supported. Use await to ensure that any asynchronous operations have completed before calling another method on this context.

(Inherited from NavigationEntry)
Query()

Returns the query that would be used by Load() to load entities referenced by this navigation property.

The query can be composed over using LINQ to perform filtering, counting, etc. without actually loading all entities from the database.

Query()

Returns the query that would be used by Load() to load entities referenced by this navigation property.

The query can be composed over using LINQ to perform filtering, counting, etc. without actually loading all entities from the database.

(Inherited from NavigationEntry)

Explicit Interface Implementations

IInfrastructure<InternalEntityEntry>.Instance

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.

(Inherited from MemberEntry)

Extension Methods

GetInfrastructure<T>(IInfrastructure<T>)

Gets the value from a property that is being hidden using IInfrastructure<T>.

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

IInfrastructure<T> is used to hide properties that are not intended to be used in application code but can be used in extension methods written by database providers etc.

Applies to