public CollectionShaperExpression(
     ProjectionBindingExpression projection,
     Expression innerShaper,
     INavigation navigation)
 {
     Projection  = projection;
     InnerShaper = innerShaper;
     Navigation  = navigation;
 }
 public CollectionShaperExpression(
     ProjectionBindingExpression projection,
     Expression innerShaper,
     INavigation navigation,
     Type elementType)
 {
     Projection  = projection;
     InnerShaper = innerShaper;
     Navigation  = navigation;
     ElementType = elementType;
 }
 public EntityValuesExpression Update(ProjectionBindingExpression valueBufferExpression)
 {
     return(valueBufferExpression != ValueBufferExpression
         ? new EntityValuesExpression(EntityType, valueBufferExpression)
         : this);
 }
 public EntityValuesExpression(IEntityType entityType, ProjectionBindingExpression valueBufferExpression)
 {
     EntityType            = entityType;
     ValueBufferExpression = valueBufferExpression;
 }
 public EntityShaperExpression(IEntityType entityType, ProjectionBindingExpression valueBufferExpression, bool nullable)
 {
     EntityType            = entityType;
     ValueBufferExpression = valueBufferExpression;
     Nullable = nullable;
 }
 public CollectionShaperExpression Update(ProjectionBindingExpression projection, Expression innerShaper)
 {
     return(projection != Projection || innerShaper != InnerShaper
         ? new CollectionShaperExpression(projection, innerShaper, Navigation)
         : this);
 }