Table of Contents

Class EagerLoadedQueryableExt

Namespace
Tlabs.Data
Assembly
Tlabs.Data.dll

Extension of IQueryable<T> to support eager loading of related data.

public static class EagerLoadedQueryableExt
Inheritance
EagerLoadedQueryableExt
Inherited Members

Methods

LoadRelated<E>(IQueryable<E>, IDataStore, string)

Load related data associated with the given navigationPropertyPath with the entities selected by the query.

public static IQueryable<E> LoadRelated<E>(this IQueryable<E> query, IDataStore store, string navigationPropertyPath) where E : class

Parameters

query IQueryable<E>
store IDataStore
navigationPropertyPath string

Returns

IQueryable<E>

Type Parameters

E

Remarks

navigationPropertyPath is a '.' separated path of navigation property names (all) to be included.

LoadRelated<E, P>(IQueryable<E>, IDataStore, Expression<Func<E, P>>)

Load related data associated with the given navProperty with the entities selected by the query.

public static IEagerLoadedQueryable<E, P> LoadRelated<E, P>(this IQueryable<E> query, IDataStore store, Expression<Func<E, P>> navProperty) where E : class

Parameters

query IQueryable<E>
store IDataStore
navProperty Expression<Func<E, P>>

Returns

IEagerLoadedQueryable<E, P>

Type Parameters

E
P

Remarks

This method can be chained to eagerly load multiple navigation properties.

ThenLoadRelated<E, Prev, Prop>(IEagerLoadedQueryable<E, IEnumerable<Prev>>, IDataStore, Expression<Func<Prev, Prop>>)

Load additional related data associated with the given navProperty based on a related type that was just loaded.

public static IEagerLoadedQueryable<E, Prop> ThenLoadRelated<E, Prev, Prop>(this IEagerLoadedQueryable<E, IEnumerable<Prev>> query, IDataStore store, Expression<Func<Prev, Prop>> navProperty) where E : class

Parameters

query IEagerLoadedQueryable<E, IEnumerable<Prev>>
store IDataStore
navProperty Expression<Func<Prev, Prop>>

Returns

IEagerLoadedQueryable<E, Prop>

Type Parameters

E
Prev
Prop

ThenLoadRelated<E, Prev, Prop>(IEagerLoadedQueryable<E, Prev>, IDataStore, Expression<Func<Prev, Prop>>)

Load additional related data associated with the given navProperty based on a related type that was just loaded.

public static IEagerLoadedQueryable<E, Prop> ThenLoadRelated<E, Prev, Prop>(this IEagerLoadedQueryable<E, Prev> query, IDataStore store, Expression<Func<Prev, Prop>> navProperty) where E : class

Parameters

query IEagerLoadedQueryable<E, Prev>
store IDataStore
navProperty Expression<Func<Prev, Prop>>

Returns

IEagerLoadedQueryable<E, Prop>

Type Parameters

E
Prev
Prop