IEnumerable <L> ExecuteQuery <L>(IndexQueryArgs <K> args, Func <K, IKeyNode, L> selector) { var query = from i in _tree.Enum(args) select selector(i.Key, i); if (args.Skip != null) { query = query.Skip(args.Skip.GetValueOrDefault()); } if (args.Take != null) { query = query.Take(args.Take.GetValueOrDefault()); } return(query); }
IEnumerable <L> ExecuteQuery <L>(IndexQueryArgs <K> args, Func <K, IKeyNode, L> selector) { var index = _table.KeyIndex; var query = from i in _tree.Enum(args) from k in i.Keys select selector(i.Key, k); if (args.Skip != null) { query = query.Skip(args.Skip.Value); } if (args.Take != null) { query = query.Take(args.Take.Value); } return(query); }