# LeftOuterJoin<T, U, TKey, R>(IQueryable<T>, IQueryable<U>, Expression<Func<T, TKey>>, Expression<Func<U, TKey>>, Func<T, IEnumerable<U>, R>, Func<T, U>) Method An IQueryable<T> extension method that left outer join. ## Definition **Namespace:** CapyKit.Extensions **Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0+735d7c4c91a8ae04c2d8cae4ce85ddf4909e5b7d **C#** ``` C# public static IQueryable LeftOuterJoin( this IQueryable source, IQueryable inner, Expression> outerSelector, Expression> innerSelector, Func, R> resultSelector, Func defaultGenerator = null ) ``` **F#** ``` F# [] static member LeftOuterJoin : source : IQueryable<'T> * inner : IQueryable<'U> * outerSelector : Expression> * innerSelector : Expression> * resultSelector : Func<'T, IEnumerable<'U>, 'R> * ?defaultGenerator : Func<'T, 'U> (* Defaults: let _defaultGenerator = defaultArg defaultGenerator null *) -> IQueryable<'R> ``` #### Parameters
  IQueryable(T)
The source to act on.
  IQueryable(U)
The inner.
  Expression(Func(T, TKey))
The outer selector.
  Expression(Func(U, TKey))
The inner selector.
  Func(T, IEnumerable(U), R)
The result selector.
  Func(T, U)  (Optional)
(Optional) The default generator.
#### Type Parameters
Generic type parameter.
Generic type parameter.
Type of the key.
Type of the r.
#### Return Value IQueryable(R) An IQueryable<R> #### Usage Note In Visual Basic and C#, you can call this method as an instance method on any object of type IQueryable(T). When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide). ## See Also #### Reference LINQExtensions Class LeftOuterJoin Overload CapyKit.Extensions Namespace