The requested page is not available for the requested platform. You are viewing the content for .NET Framework 4.5.2+ platform.
.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+

Session.PreFetch<T>(IEnumerable<T>, String, IEnumerable) Method

Enforces loading data for associated collections.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v19.2.dll

Declaration

public void PreFetch<T>(
    IEnumerable<T> objects,
    string collectionInObjects,
    IEnumerable collectionsContent
)
Public Sub PreFetch(Of T)(
    objects As IEnumerable(Of T),
    collectionInObjects As String,
    collectionsContent As IEnumerable
)
public void PreFetch<T>(
    IEnumerable<T> objects,
    string collectionInObjects,
    IEnumerable collectionsContent
)
Public Sub PreFetch(Of T)(
    objects As IEnumerable(Of T),
    collectionInObjects As String,
    collectionsContent As IEnumerable
)

Parameters

Name Type Description
objects IEnumerable<T>

An IEnumerable list of parent objects.

collectionInObjects String

A string which is the name of the associated collection property.

collectionsContent IEnumerable

An IEnumerable list of the collection's content. If the collectionInObjects data was previously loaded, you can avoid reloading it by passing the loaded data to the collectionsContent parameter. Note that if this parameter does not contain a part of the collection's content, this part will not be loaded from a database.

Parameters

Name Type Description
objects IEnumerable<T>

An IEnumerable list of parent objects.

collectionInObjects String

A string which is the name of the associated collection property.

collectionsContent IEnumerable

An IEnumerable list of the collection's content. If the collectionInObjects data was previously loaded, you can avoid reloading it by passing the loaded data to the collectionsContent parameter. Note that if this parameter does not contain a part of the collection's content, this part will not be loaded from a database.

Type Parameters

Name Description
T

Type Parameters

Name Description
T

Remarks

By default, data is loaded automatically when you access a nested collection for the first time. When the PreFetch<T> method is called, all data for the specified collection is loaded at once. No additional SQL queries for this data will be performed later.

using DevExpress.Xpo;
using DevExpress.Xpo.Metadata;
// ...
XPCollection<Person> people = new XPCollection<Person>(session);
XPCollection<PhoneNumber> phoneNumbers = new XPCollection<PhoneNumber>(session);
session.PreFetch<Person>(people, nameof(PhoneNumbers), phoneNumbers);
See Also