diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs index fdf1082..9cfcb74 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs @@ -25,7 +25,7 @@ namespace Microsoft.OpenApi.OData.Operation /// this segment could be "entity set", "Collection property", "Composable function whose return is collection",etc. /// internal ODataSegment LastSecondSegment { get; set; } - + private const int SecondLastSegmentIndex = 2; /// protected override void Initialize(ODataContext context, ODataPath path) { @@ -33,7 +33,8 @@ namespace Microsoft.OpenApi.OData.Operation // get the last second segment int count = path.Segments.Count; - LastSecondSegment = path.Segments.ElementAt(count - 1); + if(count >= SecondLastSegmentIndex) + LastSecondSegment = path.Segments.ElementAt(count - SecondLastSegmentIndex); } ///