Session.PreFetch(IEnumerable, XPMemberInfo, IEnumerable) Method
Enforces loading data for an associated collection.
Namespace: DevExpress.Xpo
Assembly: DevExpress.Xpo.v24.2.dll
NuGet Package: DevExpress.Xpo
#Declaration
public void PreFetch(
IEnumerable objects,
XPMemberInfo collectionInObjects,
IEnumerable collectionsContent
)
#Parameters
Name | Type | Description |
---|---|---|
objects | IEnumerable | An IEnumerable list of parent objects. |
collection |
XPMember |
An XPMember |
collections |
IEnumerable | An IEnumerable list of the collection’s content. If the collection |
#Remarks
By default, data is loaded automatically when you access a nested collection for the first time. When the PreFetch 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);
XPMemberInfo phoneNumbersInfo = session.GetClassInfo(typeof(Person)).GetMember(nameof(PhoneNumbers));
session.PreFetch(people, phoneNumbersInfo, phoneNumbers);