示例#1
0
        /// <summary>Construct a query with a set of initial settings</summary>
        internal FdbRangeQuery([NotNull] IFdbReadOnlyTransaction transaction, KeySelector begin, KeySelector end, [NotNull] Func <KeyValuePair <Slice, Slice>, T> transform, bool snapshot, [CanBeNull] FdbRangeOptions options)
        {
            Contract.Requires(transaction != null && transform != null);

            this.Transaction   = transaction;
            this.Begin         = begin;
            this.End           = end;
            this.Transform     = transform;
            this.Snapshot      = snapshot;
            this.Options       = options ?? new FdbRangeOptions();
            this.OriginalRange = KeySelectorPair.Create(begin, end);
        }
 public static IAsyncEnumerable <TResult> Except <TKey, TResult>([NotNull] this IFdbReadOnlyTransaction trans, [NotNull] IEnumerable <KeyRange> ranges, [NotNull] Func <KeyValuePair <Slice, Slice>, TKey> keySelector, [NotNull] Func <KeyValuePair <Slice, Slice>, TResult> resultSelector, IComparer <TKey> keyComparer = null)
 {
     Contract.NotNull(ranges, nameof(ranges));
     return(Except <TKey, TResult>(trans, ranges.Select(r => KeySelectorPair.Create(r)), keySelector, resultSelector, keyComparer));
 }