title: Invalid Column Name on EF7 - RC2
body: <p>I get error "Invalid Column Name" on Entity Framework RC 2, below is my entities</p>
  
  <pre><code>public class Article : IEntityBase
      {       
         public Article()
          {
              TagMaps = new List&lt;ArticleTagMap&gt;();
  
          }
          public int Id { get; set; }
  
          [Required, MaxLength(100), MinLength(3)]
          public string Slug { get; set; }
  
          [Required]
          public string Title { get; set; }
  
          [Required]
          public string Description { get; set; }
  
          [MaxLength(255)]
          public string ShortDescription { get; set; }
  
          [MaxLength(255)]
          public string Metadata { get; set; }
  
          public virtual ICollection&lt;ArticleTagMap&gt; TagMaps { get; set; }
  
      }
  
  public class Tag :IEntityBase 
      {
          public Tag()
          {
              TagMaps = new List&lt;ArticleTagMap&gt;();
          }
  
          public int Id { get; set; }
  
          [Required, MaxLength(100)]
          public string TagName { get; set; }
  
          public virtual ICollection&lt;ArticleTagMap&gt; TagMaps { get; set; }
  
  
      }
  
  public class ArticleTagMap : IEntityBase
      {
  
  
          public int Id { get; set; }
  
          [Required]
          public int ArticleId { get; set; }
          [Required]
          public int TagId { get; set; }
  
          [ForeignKey("TagId")]
          public virtual Tag Tag { get; set; }
  
          [ForeignKey("ArticleId")]
          public virtual Article Article { get; set; }
  
      }
  </code></pre>
  
  <p>and on DataContext I'm adding following code</p>
  
  <pre><code>protected override void OnModelCreating(ModelBuilder modelBuilder)
   {
       modelBuilder.Entity&lt;ArticleTagMap&gt;()
                  .HasOne(a =&gt; a.Tag)
                  .WithMany(b =&gt; b.TagMaps)
                  .HasForeignKey(c =&gt; c.TagId)
                  .OnDelete(DeleteBehavior.Cascade);
  
              modelBuilder.Entity&lt;ArticleTagMap&gt;()
                  .HasOne(a =&gt; a.Article)
                  .WithMany(b =&gt; b.TagMaps)
                  .HasForeignKey(c =&gt; c.ArticleId)
                  .OnDelete(DeleteBehavior.Cascade);
   }
  </code></pre>
  
  <p>and from SQL profiler I catch the generated script</p>
  
  <pre><code>exec sp_executesql N'SELECT [a0].[Id], [a0].[ArticleId], [a0].[ArticleId1], [a0].[TagId], [a0].[TagId1]
  FROM [ArticleTagMaps] AS [a0]
  INNER JOIN (
      SELECT DISTINCT TOP(1) [a].[Id]
      FROM [Campaigns] AS [x]
      INNER JOIN [Articles] AS [x.Article] ON [x].[ArticleId] = [x.Article].[Id]
      INNER JOIN [Articles] AS [a] ON [x].[ArticleId] = [a].[Id]
      WHERE [x.Article].[Slug] = @__slug_0
      ORDER BY [a].[Id]
  ) AS [a1] ON [a0].[ArticleId1] = [a1].[Id]
  ORDER BY [a1].[Id]',N'@__slug_0 nvarchar(4000)',@__slug_0=N'bantu-pekak-sanin'
  </code></pre>
  
  <p>There are ArticleId1 and TagId1 column name which is not available on table. I have struggling for several hour and still not find any solution. Please help :)</p>