internal override IEnumerable <PropertyExpression> GetAccessedProperties() { var accessedProperties = base.GetAccessedProperties(); if (Where != null) { accessedProperties = accessedProperties.Concat(Where.GetAccessedProperties()); } if (GroupBy != null) { accessedProperties = accessedProperties.Concat(GroupBy.GetAccessedProperties()); } if (OrderBy != null) { accessedProperties = accessedProperties.Concat(OrderBy.GetAccessedProperties()); } if (Skip != null) { accessedProperties = accessedProperties.Concat(Skip.GetAccessedProperties()); } if (Limit != null) { accessedProperties = accessedProperties.Concat(Limit.GetAccessedProperties()); } return(accessedProperties); }