title: .net core entity framework (EF Core) table naming convention
body: <p>.net core entity framework (EF Core) table naming convention plural to single/simple/underscore</p>
  
  <p>Being a fan of <code>single simple underscore</code> naming convention to table names, I feel uncomfortable with the way <strong>EF core</strong> is naming tables <code>Plural PascalCase</code>.</p>
  
  <p><strong>Model</strong></p>
  
  <pre><code>public class SourceType {
     ... 
  </code></pre>
  
  <p><strong>DbContext</strong></p>
  
  <pre><code>public class ApplicationDbContext : DbContext {
      public DbSet&lt;SourceType&gt; SourceTypes { get; set; }
      ...
  </code></pre>
  
  <p>This creates the table with the name <code>SourceTypes</code> <em>(PascalCase and Plural)</em></p>
  
  <p>I know I can change the generated table name by using <code>[table('source_type')]</code> in the model class.</p>
  
  <p>But, what I need is a method to do it in global manner. </p>