title: How to save only fields that change in an ASP.NET MVP application?
body: <p>We have a form with about 25 fields. A few fields are listed below.</p>
  
  <pre><code>&lt;div class="form-field"&gt;
      @Html.LabelFor(m =&gt; m.FormData.FirstName)
      @Html.TextBoxFor(m =&gt; m.FormData.FirstName)
  &lt;/div&gt;
  &lt;div class="form-field"&gt;
      @Html.LabelFor(m =&gt; m.FormData.LastName)
      @Html.TextBoxFor(m =&gt; m.FormData.LastName)
  &lt;/div&gt;
  &lt;div class="form-field"&gt;
      @Html.LabelFor(m =&gt; m.FormData.MiddleInitial)
      @Html.TextBoxFor(m =&gt; m.FormData.MiddleInitial, new { @class = "small" })
  &lt;/div&gt;
  </code></pre>
  
  <p>I have a FormData object that stores the values for the form and is later synced with a Patient object if ModelState is valid. The patient is stored in the session.</p>
  
  <pre><code>patient.FirstName = formData.FirstName;
  patient.LastName = formData.LastName;
  patient.MiddleInitial = formData.MiddleInitial;
  </code></pre>
  
  <p>Currently, every time the data is posted, it is saving every field to the patient. Is there a way to only save items that have changed? Or to track changes here? I'd assume that would improve efficiency?  </p>