public virtual IQueryable <TEntity> BuildQuery(Expression <Func <TEntity, bool> > filter = null, string includeProperties = "") { IQueryable <TEntity> query = DbEntitySet.AsNoTracking(); foreach (var include in includeProperties.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { query = query.Include(include); } if (filter != null) { query = query.Where(filter); } return(query); }