Duration (Pacific Standard Time):
To (Pacific Standard Time):
Impact:
  • None
User Action:
  • None
.NET Framework Class Library

DataContext.DeferredLoadingEnabled Property

Gets or sets a value that indicates whether to delay-load one-to-many or one-to-one relationships.

Namespace:  System.Data.Linq
Assembly:  System.Data.Linq (in System.Data.Linq.dll)
Public Property DeferredLoadingEnabled As Boolean

Property Value

Type: System.Boolean
true if deferred loading is enabled; otherwise, false.

When the code accesses one of these relationships, null is returned if the relationship is one-to-one, and an empty collection is returned if it is one-to-many. The relationships can still be filled by setting the LoadOptions property.

The main scenario for this property is to enable you to extract a piece of the object model and send it out (for example, to a Web service).

Note Note

If this property is set to false after a query has been executed, an exception is thrown. See the Valid Modes section below for more information.

Valid modes

Deferred loading requires object tracking. Only the following three modes are valid:

  • ObjectTrackingEnabled = false. DeferredLoadingEnabled is ignored and inferred to be false. This behavior corresponds to a read-only DataContext.

  • ObjectTrackingEnabled = true. DeferredLoadingEnabled = false. This situation corresponds to a DataContext that allows users to load an object graph by using LoadWith directives, but it does not enable deferred loading.

  • Both are set to true. This is the default.

The flags may not be changed after a query has been executed. Any change after the execution of the first query that uses that DataContext throws an exception.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.