title: How do I remove underscore of foreign key fields in code first by convention
body: <p>I've got multiple classes (including TPT) in my project. Each POCO has a <code>BaseClass</code>, which has a <code>GUID</code> (called <code>GlobalKey</code>) as primary key.</p>
  
  <p>First I used <code>DataAnnotations</code> to create correct foreign keys. But then I've got problems synchronizing the corresponding GUID with the object itself.</p>
  
  <p>Now I want to have only one virtual navigation property so that the GUID field in the database is created by <code>NamingConvention</code>. But the field name always adds an underscore followed by the word <code>GlobalKey</code> (which is right). When I want to remove the underscore, I don't want to go thru all my POCOs in the fluent API to do this:</p>
  
  <pre><code>// Remove underscore from Navigation-Field     
  modelBuilder.Entity&lt;Person&gt;()
              .HasOptional(x =&gt; x.Address)
              .WithMany()
              .Map(a =&gt; a.MapKey("AddressGlobalKey"));
  </code></pre>
  
  <p>Any ideas to do this for all POCOS by overwriting a convention?</p>
  
  <p>Thanks in advance.</p>
  
  <p>Andreas</p>