public T SingleOrDefault()
 {
     return(ProjectableMethods.SingleOrDefault(query));
 }
 public T FirstOrDefault()
 {
     return(ProjectableMethods.FirstOrDefault(query));
 }
 public T Single()
 {
     return(ProjectableMethods.Single(query));
 }
 public TResult SingleOrDefault <TResult>(Expression <Func <T, TResult> > projection)
 {
     return(ProjectableMethods.SingleOrDefault(query, projection));
 }
 public TResult First <TResult>(Expression <Func <T, TResult> > projection)
 {
     return(ProjectableMethods.First(query, projection));
 }