// // Summary: // Correlates the elements of two sequences based on matching keys. The default // equality comparer is used to compare keys. // // Parameters: // outer: // The first sequence to join. // // inner: // The sequence to join to the first sequence. // // outerKeySelector: // A function to extract the join key from each element of the first sequence. // // innerKeySelector: // A function to extract the join key from each element of the second sequence. // // resultSelector: // A function to create a result element from two matching elements. // // Type parameters: // TOuter: // The type of the elements of the first sequence. // // TInner: // The type of the elements of the second sequence. // // TKey: // The type of the keys returned by the key selector functions. // // TResult: // The type of the result elements. // // Returns: // An System.Collections.Generic.IEnumerable`1 that has elements of type TResult // that are obtained by performing an inner join on two sequences. // // Exceptions: // T:System.ArgumentNullException: // outer or inner or outerKeySelector or innerKeySelector or resultSelector is null. public BusinessQueryEnumerableResult <TResult> Join <TInner, TJoinKey, TResult>(BusinessQueryEnumerableResult <TInner> inner, Expression <Func <TEntry, TJoinKey> > outerKeySelector, Expression <Func <TInner, TJoinKey> > innerKeySelector, Expression <Func <TEntry, TInner, TResult> > resultSelector) where TResult : class where TInner : class { return(new BusinessQueryEnumerableResult <TResult>(FinalizeQuery().Join(inner.GetQuery(), outerKeySelector, innerKeySelector, resultSelector))); }
public BusinessQueryEnumerableResult <Result> Union(BusinessQueryEnumerableResult <Result> second) { Query = Query.Union(second.Query); return(this); }
// // Summary: // Applies a specified function to the corresponding elements of two sequences, // producing a sequence of the results. // // Parameters: // first: // The first sequence to merge. // // second: // The second sequence to merge. // // resultSelector: // A function that specifies how to merge the elements from the two sequences. // // Type parameters: // TFirst: // The type of the elements of the first input sequence. // // TSecond: // The type of the elements of the second input sequence. // // TResult: // The type of the elements of the result sequence. // // Returns: // An System.Collections.Generic.IEnumerable`1 that contains merged elements of // two input sequences. // // Exceptions: // T:System.ArgumentNullException: // first or second is null. public BusinessQueryEnumerableResult <TResult> Zip <TSecond, TResult>(BusinessQueryEnumerableResult <TSecond> second, Expression <Func <TEntry, TSecond, TResult> > resultSelector) where TResult : class where TSecond : class { return(new BusinessQueryEnumerableResult <TResult>(FinalizeQuery().Zip(second.GetQuery(), resultSelector))); }