ObjectContext.LoadProperty<'TEntity> Method ('TEntity, Expression<Func<'TEntity, Object>>)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option.

Namespace:   System.Data.Objects
Assembly:  System.Data.Entity (in System.Data.Entity.dll)

member LoadProperty<'TEntity> : 
        entity:'TEntity *
        selector:Expression<Func<'TEntity, Object>> -> unit


Type: TEntity

The source object for which related objects are to be loaded.

Type: System.Linq.Expressions.Expression<Func<'TEntity, Object>>

A LINQ expression that defines the related objects to be loaded.

Type Parameters


The type of the supplied object.

Exception Condition

selector does not supply a valid input parameter.


selector is null.


The entity is in a Detached, F:System.Data.EntityState.Added, or Deleted state,


The entity is attached to another instance of ObjectContext.

The LoadProperty method must be called to achieve explicit loading when you are using POCO custom data classes.

After calling LoadProperty, the related object can be accessed through the navigation properties of the source entity.

The property to load is specified by a LINQ expression, which must be in the form of a simple property member access, as in (entity) => entity.PropertyName, where PropertyName is the navigation property that returns the related objects to be loaded. An exception will occur if other forms of the LINQ expression are used.

When using POCO custom data classes, related objects cannot be explicitly loaded like instances of entity types that are generated by the Entity Data Model tools. This is because the tools generate the navigation properties that return an EntityCollection<'TEntity> or EntityReference<'TEntity> of related objects when Load is called on a T:System.Data.Objects.DataClasses.RelatedEnd`1. POCO entities can still be loaded by using lazy loading by setting the LazyLoadingEnabled property to true on the instance of ObjectContextOptions that is returned by the ObjectContext.ContextOptions property, or by using eager loading with the Include method on the ObjectQuery<'T>.

.NET Framework
Available since 4.0
Return to top