public static ODataQuerySettings GetODataQuerySettings(this ODataQueryContext context)
        {
            ODataQuerySettings returnSettings = new ODataQuerySettings();
            ODataQuerySettings settings       = context?.RequestContainer?.GetRequiredService <ODataQuerySettings>();

            if (settings != null)
            {
                returnSettings.CopyFrom(settings);
            }

            return(returnSettings);
        }
        public static ODataQuerySettings UpdateQuerySettings(this ODataQueryContext context, ODataQuerySettings querySettings, IQueryable query)
        {
            ODataQuerySettings updatedSettings = new ODataQuerySettings();
            ODataQuerySettings settings        = context?.RequestContainer?.GetRequiredService <ODataQuerySettings>();

            if (settings != null)
            {
                updatedSettings.CopyFrom(settings);
            }

            updatedSettings.CopyFrom(querySettings);

            if (updatedSettings.HandleNullPropagation == HandleNullPropagationOption.Default)
            {
                updatedSettings.HandleNullPropagation = query != null
                    ? HandleNullPropagationOptionHelper.GetDefaultHandleNullPropagationOption(query)
                    : HandleNullPropagationOption.True;
            }

            return(updatedSettings);
        }
        public static ODataQuerySettings GetODataQuerySettings(this ODataQueryContext context)
        {
            ODataQuerySettings returnSettings = new ODataQuerySettings();
            ODataQuerySettings settings       = context?.RequestContainer?.GetRequiredService <ODataQuerySettings>();

            if (settings != null)
            {
                returnSettings.CopyFrom(settings);
            }

            if (returnSettings.HandleNullPropagation == HandleNullPropagationOption.Default)
            {
                returnSettings.HandleNullPropagation = HandleNullPropagationOption.True;
            }

            return(returnSettings);
        }