public static AliasBaseQueryFilter Filter(this DbContext context, object key) #endif { var filterContext = AliasQueryFilterManager.AddOrGetFilterContext(context); return(filterContext.GetFilter(key)); }
public static IQueryable <T> Filter <T>(this DbSet <T> query, params object[] keys) where T : class #endif { var queryFilterQueryable = AliasQueryFilterManager.GetFilterQueryable(query); var nonQueryFilter = queryFilterQueryable != null ? (IQueryable <T>)queryFilterQueryable.OriginalQuery : query; var context = queryFilterQueryable != null ? queryFilterQueryable.Context : query.GetDbContext(); var filterContext = AliasQueryFilterManager.AddOrGetFilterContext(context); return(filterContext.ApplyFilter(nonQueryFilter, keys)); }
public static AliasBaseQueryFilter Filter <T>(this DbContext context, object key, Func <IQueryable <T>, IQueryable <T> > queryFilter, bool isEnabled = true) #endif { var filterContext = AliasQueryFilterManager.AddOrGetFilterContext(context); var filter = filterContext.AddFilter(key, queryFilter); if (isEnabled) { filter.Enable(); } return(filter); }
public static IQueryable <T> SetFiltered <T>(this DbContext context) where T : class #endif { var filterContext = AliasQueryFilterManager.AddOrGetFilterContext(context); if (filterContext.FilterSetByType.ContainsKey(typeof(T))) { var set = filterContext.FilterSetByType[typeof(T)]; if (set.Count == 1) { return((IQueryable <T>)set[0].DbSetProperty.GetValue(context)); } throw new Exception(ExceptionMessage.QueryFilter_SetFilteredManyFound); } throw new Exception(ExceptionMessage.QueryFilter_SetFilteredNotFound); }