Десериализация вложенного XML в объекты C #

Я извлекаю данные XML из веб-запроса http и десериализую данные в объекты.

Вот пример структуры XML.

<users>
    <user>
        <name>...</name>
        <orders>
            <order>
                <number>...</number>
            </order>        
            ...
        </orders>
    </user>
    <user>
        <name>...</name>
        <orders></orders>
    </user>
    ...
</users>

У меня четыре класса

public class Users
{
    [XmlElement("user")]
    public User[] UserList { get; set; }
}

public class User
{
    [XmlElement("name")]
    public string Name { get; set; }

    [XmlArray("orders")]
    public Orders OrderList { get; set; }
}

public class Orders
{
    [XmlElement("order")]
    public Order[] Order { get; set; }
}

public class Order
{
    [XmlElement("number")]
    public string Number { get; set; }
}

Я чувствую, что трех классов должно быть достаточно - иметь Order [] в классе User и избавиться от класса 'Orders'. Это возможно? Что бы я ни пытался, ничего не получалось.

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос