QueryRequest
Groups the set of query request settings. 
                using Azure.Core;
using Azure.Storage.Common;
using System.Xml;
namespace Azure.Storage.Blobs.Models
{
    internal class QueryRequest : IXmlSerializable
    {
        public QuerySerialization InputSerialization { get; set; }
        public QuerySerialization OutputSerialization { get; set; }
        public string QueryType { get; set; }
        public string Expression { get; set; }
        public QueryRequest(string expression)
        {
            Argument.AssertNotNull(expression, "expression");
            QueryType = "SQL";
            Expression = expression;
        }
        internal QueryRequest(string queryType, string expression, QuerySerialization inputSerialization, QuerySerialization outputSerialization)
        {
            QueryType = queryType;
            Expression = expression;
            InputSerialization = inputSerialization;
            OutputSerialization = outputSerialization;
        }
        void IXmlSerializable.Write(XmlWriter writer, string nameHint)
        {
            writer.WriteStartElement(nameHint ?? "QueryRequest");
            writer.WriteStartElement("QueryType");
            writer.WriteValue(QueryType);
            writer.WriteEndElement();
            writer.WriteStartElement("Expression");
            writer.WriteValue(Expression);
            writer.WriteEndElement();
            if (Optional.IsDefined(InputSerialization))
                writer.WriteObjectValue(InputSerialization, "InputSerialization");
            if (Optional.IsDefined(OutputSerialization))
                writer.WriteObjectValue(OutputSerialization, "OutputSerialization");
            writer.WriteEndElement();
        }
        internal QueryRequest()
        {
        }
    }
}