title: AutoMapper binding issues
body: <p>I am having trouble with AutoMapper not mapping to and from my ViewModels correctly. My primary model has a complex property named Contact of type Contact, i then have some fields on my ViewModel named Contact[PropertyName] an example of which is ContactFirst_Name. </p>
  
  <p>Which seems to be correct as far as the documentation examples i can find say, i am essentially trying to flatten/unflatten the model but its not working. I did find a "fix" in another thread on stack overflow which meant i added the following line </p>
  
  <pre><code>Mapper.Initialize(cfg =&gt; cfg.RecognizePrefixes("Contact"));
  </code></pre>
  
  <p>to my mappings which then results in successful two way binding. This just seems wrong to me and has my thinking i am misunderstanding the way the default trappings work?</p>
  
  <p>Am i?</p>
  
  <p>ViewModel</p>
  
  <pre><code>    public class EmployeeViewModel : MVViewModel
  {
      [Display(Name = "Title")]
      public ContactTitleViewModel ContactTitle { get; set; }
  
      [Display(Name = "First Name")]
      public string ContactFirst_Name { get; set; }
      public string ContactMiddle_Names { get; set; }
      public string ContactLast_Name { get; set; }
      public string ContactEmail_Address { get; set; }
      public string Position { get; set; }
  
      [TableFields("Name")]
      public List&lt;EmployeeTrainingViewModel&gt; Training { get; set; }
  }
  </code></pre>
  
  <p>Minimal SQL Models</p>
  
  <pre><code>    public class Employee : ISQLObject
  {
      public Contact Contact { get; set; }
      public string Position { get; set; }
      public virtual List&lt;EmployeeTraining&gt; Training { get; set; }
  
  }
  
  public class Contact : ISQLObject
      {
          public ContactTitle Title { get; set; }
          public string First_Name { get; set; }
          public string Middle_Names { get; set; }
          public string Last_Name { get; set; }
      }
  </code></pre>