title: Order of fields when serializing the derived class in JSON.NET
body: <p>Consider these two classes:</p>
  
  <pre><code>public Class Base {
      public string Id {get; set;}
      public string Name {get; set;}
      public string LastName {get; set;}
  }
  </code></pre>
  
  <p>And the derived class:</p>
  
  <pre><code>public Class Derived : Base {
      public string Address {get; set;}
      public DateTime DateOfBirth {get; set;}
  }
  </code></pre>
  
  <p>When serializing the <em>Derived class</em> using <em>Json.Net</em>:</p>
  
  <pre><code>Derived record = new Derived record(); {// Initialize here...}
  JsonConvert.SerializeObject(record);
  </code></pre>
  
  <p>By default, the properties of the <em>Derived class</em> appear first:</p>
  
  <pre><code>{ 
    "address": "test", 
    "date_of_birth" : "10/10/10",
    "id" : 007,
    "name" : "test name",
    "last_name": "test last name"
   }
  </code></pre>
  
  <p>What I need:</p>
  
  <pre><code>{ 
    "id" : 007,
    "name" : "test name",
    "last_name": "test last name"
    "address": "test", 
    "date_of_birth" : "10/10/10",      
   }
  </code></pre>
  
  <p><strong>Question</strong></p>
  
  <p>Is it possible to have the <em>base class</em> properties come first, when serializing the derived class (<strong>without using <code>[JsonProperty(Order=)]</code> for each property of both classes</strong>)?</p>