Class EagerLoadedQueryableExt
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
IDataStorenavigationPropertyPath
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
IDataStorenavProperty
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
IDataStorenavProperty
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
IDataStorenavProperty
Expression<Func<Prev, Prop>>
Returns
- IEagerLoadedQueryable<E, Prop>
Type Parameters
E
Prev
Prop