private void UpdateResultType(PomonaQuery query)
{
TypeSpec elementType = query.OfType;
if (query.SelectExpression != null)
elementType = this.typeMapper.FromType(query.SelectExpression.ReturnType);
if (query.Projection == QueryProjection.First
|| query.Projection == QueryProjection.FirstOrDefault
|| query.Projection == QueryProjection.Single
|| query.Projection == QueryProjection.SingleOrDefault
|| query.Projection == QueryProjection.Last
|| query.Projection == QueryProjection.LastOrDefault)
query.ResultType = elementType;
}