mfenniak / rethinkdb-net

A C# / .NET client driver for RethinkDB.
Other
247 stars 37 forks source link

Query.OuterJoin overload: missing argument? #249

Open funlambda opened 8 years ago

funlambda commented 8 years ago

I noticed that the Query.OuterJoin query builder method has two overloads:

public static OuterJoinQuery<TLeft, TRight, Tuple<TLeft, TRight>> OuterJoin<TLeft, TRight>(this ISequenceQuery<TLeft> leftQuery, ISequenceQuery<TRight> rightQuery, Expression<Func<TLeft, TRight, bool>> joinPredicate)
public static OuterJoinQuery<TLeft, TRight, TResult> OuterJoin<TLeft, TRight, TResult>(this ISequenceQuery<TLeft> leftQuery, ISequenceQuery<TRight> rightQuery, Expression<Func<TLeft, TRight, bool>> joinPredicate)

The second version takes a TResult type param but doesn't actually use it in the method signature. Is there supposed to be an additional mapping parameter that specifies how to construct the TResult object (maybe of type Expression<Func<TLeft, TRight, TResult>>)? Or am I missing something?

I ran into difficulty when calling the method from F#. The compiler was unable to determine which version I wanted until I explicitly specified the type parameters to identify the first overload.