title: Serialize and Deserialize Json.Net Different Property Names
body: <p>I was wondering how do I Serialize and De serialize a model using Json.net with a property changing names. </p>
  
  <p>Example:</p>
  
  <pre><code>Model: {
   public int Id { get; set; }
   [JsonProperty("Id")]
   public String EventId { get; set; }
   public String Name { get; set; } 
  }
  </code></pre>
  
  <p>The rest endpoint I hit to load the Data, passes me in the data as:</p>
  
  <pre><code>[{
   Id: 'A1B2C3D4-E1',
   Name: 'Event 1'
  }]
  </code></pre>
  
  <p>I would like to pass out the information to my UI like:</p>
  
  <pre><code>[{
   Id: 1,
   Name: 'Event 1'
  }]
  </code></pre>
  
  <p>I need to store the event's id in my database to check to see if it exists when repopulating the database from the rest endpoint. However I want to use my own Id field when working with the model. When Serializing to my UI, I need to see my Internal Id for foreign key relationships and not the string eventId (which will only be used for database AddOrUpdate)</p>
  
  <p>Also note that the Id property is inherited from a base model, so just changing the jsonp name of Id isn't an option. </p>