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
queryIQueryable<E>storeIDataStorenavigationPropertyPathstring
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
queryIQueryable<E>storeIDataStorenavPropertyExpression<Func<E, P>>
Returns
- IEagerLoadedQueryable<E, P>
Type Parameters
EP
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
queryIEagerLoadedQueryable<E, IEnumerable<Prev>>storeIDataStorenavPropertyExpression<Func<Prev, Prop>>
Returns
- IEagerLoadedQueryable<E, Prop>
Type Parameters
EPrevProp
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
queryIEagerLoadedQueryable<E, Prev>storeIDataStorenavPropertyExpression<Func<Prev, Prop>>
Returns
- IEagerLoadedQueryable<E, Prop>
Type Parameters
EPrevProp