title: Entity Framework table name convention
body: <p>I'm using EF 6, have two simple POCO class as below:</p>
  
  <pre><code>public class Person
   {
      public int PersonId { get; set; }
      public string FirstName { get; set; }
      public string LastName { get; set; }
   }
  
  public class Company
  {
      public int CompanyId { get; set; }
      public string Name { get; set; }
  }
  </code></pre>
  
  <p>and my context</p>
  
  <pre><code>public class Context : DbContext
  {
      public Context() : base("name=codefirst")
      {
  
      }
      public DbSet&lt;Person&gt; People { get; set; }
      public DbSet&lt;Company&gt; Corporation { get; set; }
  }
  </code></pre>
  
  <p>And EF generated tables :
  <strong>dbo.Companies</strong> and
  <strong>dbo.People</strong></p>
  
  <p>My question is why one table name is People and other table name is Companies (I know why is pluralized).
  I mean, One table use the property name, and the other table use the class name ?</p>
  
  <p>Thanks in advance!</p>
  
  <p><a href="https://i.stack.imgur.com/MjtbD.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/MjtbD.png" alt="enter image description here"></a></p>