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.PreFetchAsync(IEnumerable, XPMemberInfo, IEnumerable, CancellationToken) Method

Asynchronously forces associated collection data loading for specified parent objects.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v19.2.dll

Declaration

public Task PreFetchAsync(
    IEnumerable objects,
    XPMemberInfo collectionInObjects,
    IEnumerable collectionsContent,
    CancellationToken cancellationToken = default(CancellationToken)
)
Public Function PreFetchAsync(
    objects As IEnumerable,
    collectionInObjects As XPMemberInfo,
    collectionsContent As IEnumerable,
    cancellationToken As CancellationToken = Nothing
) As Task
public Task PreFetchAsync(
    IEnumerable objects,
    XPMemberInfo collectionInObjects,
    IEnumerable collectionsContent,
    CancellationToken cancellationToken = default(CancellationToken)
)
Public Function PreFetchAsync(
    objects As IEnumerable,
    collectionInObjects As XPMemberInfo,
    collectionsContent As IEnumerable,
    cancellationToken As CancellationToken = Nothing
) As Task

Parameters

Name Type Description
objects IEnumerable

An IEnumerable list of parent objects.

collectionInObjects XPMemberInfo

An XPMemberInfo object that contains metadata information. This data specifies associated collection data to be retrieved.

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.

cancellationToken CancellationToken

A CancellationToken object that delivers a cancellation notice to the running operation.

Parameters

Name Type Description
objects IEnumerable

An IEnumerable list of parent objects.

collectionInObjects XPMemberInfo

An XPMemberInfo object that contains metadata information. This data specifies associated collection data to be retrieved.

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.

cancellationToken CancellationToken

A CancellationToken object that delivers a cancellation notice to the running operation.

Returns

Type Description
Task

A Task that forces associated collection data loading for specified parent objects.

Returns

Type Description
Task

A Task that forces associated collection data loading for specified parent objects.

Remarks

By default, data is loaded automatically when you access a persistent object's nested collection for the first time. The PreFetchAsync loads all associated collection data for specified parent objects, before these collections are accessed. No additional SQL queries for this data will be performed later.

using System.Threading;
using DevExpress.Xpo;
using DevExpress.Xpo.Metadata;
// ...
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
CancellationToken cancellationToken = cancellationTokenSource.Token;
XPCollection<Person> people = new XPCollection<Person>(session);
XPMemberInfo phoneNumbersInfo = session.GetClassInfo(typeof(Person)).GetMember(nameof(PhoneNumbers));
XPCollection<PhoneNumber> phoneNumbers = new XPCollection<PhoneNumber>(session);
await session.PreFetchAsync(people, phoneNumbersInfo, phoneNumbers, cancellationToken);
See Also