title: MVC 4 and EF6 database first: issue with mapping
body: <p>I am following along Pro ASP.NET MVC 4 by Adam Freeman on VS 2010 (I downloaded the MVC 4 template online). I have worked with the .edmx file before, but in Chapter 7 he does not do this. I setup a basic connection string with SQL Server in my web.config file within my WebUI project where my controllers and views are located. Also, I listed my Domain classes within my Domain project below. The problem comes when I run the application. The application is not recognizing my table in my database (dbo.Request) and instead is creating a table based on my class name in the Entities namespace (so it creates a CustRequest table) and it also creates a _Migration_History table. To prevent this I add the Data Annotation above my class [Table("MyTableName")]. I could not figure out why I had to add this Data Annotation. Also, EF made me add a [Key] above my primary key, which i can understand because i do not have an ID property, but in the book he did not do this. I was wondering if I was missing something obvious as I am pretty new to MVC. Any help would be appreciated. I am working with EF 6. Thank you.</p>
  
  <pre><code>    namespace Requestor.Domain.Entities
      {
          [Table("Request")]
          public class CustRequest
          {
              [Key]
              public int RequestId { get; set; }
              public string RequestByUserCd { get; set; }
              public DateTime RequestDateTime { get; set; }
              public DateTime DueDate { get; set; }
          }
      }
  
      namespace Requestor.Domain.Abstract
      {
          public interface ICustRequestRepository
          {
              IQueryable&lt;CustRequest&gt; Request { get; }
          }
      }
  
      namespace ITRequestHub.Domain.Concrete
      {
          public class EFDbContext : DbContext
          {
              public DbSet&lt;CustRequest&gt; Request { get; set; }
          }
      }
  
  
      namespace ITRequestHub.Domain.Concrete
      {
          public class EFCustRequestRepository : ICustRequestRepository
          {
              private EFDbContext context = new EFDbContext(); //retrieves the data
  
              public IQueryable&lt;CustRequest&gt; Request
              {
                  get { return context.Request; }
              }
          }
      }    
  </code></pre>