title: System.ComponentModel.DataAnnotations.Schema.ColumnAttribute inconsistent?
body: <p>I seem to have run into a problem with the ColumnAttribute not working as expected.<br>
  Now i just want to point out that i have found a solution to my problem by simply using the AS keyword for naming the columns according to the C# properties, <strong>but that does not explain what happens to the ColumnAttribute</strong>.
  As you can see in my SQL i applied the AS keyword to translate the column name, but i left some out to show the issue.</p>
  
  <p>Heres the SQL query</p>
  
  <pre><code>var model = adsic.Database.SqlQuery&lt;ADUser&gt;(@"
      SELECT 
      [mail],
      [title] AS Title, 
      [c] AS Country,
      [department] AS Department,
      [company] AS Company,
      [mobile], 
      [telephoneNumber],
      [facsimileTelephoneNumber],
      [name] AS Name,
      [sAMAccountName] AS Username,
      [l] AS Location,
      [wWWHomePage] AS WebSite,
      [manager] AS Manager
      FROM openquery
      (ADSI,'SELECT 
          mail, title, c, department, company,
          mobile, telephoneNumber, facsimileTelephoneNumber, name, sAMAccountName,
          l, wWWHomePage, manager
          FROM ''LDAP://OU=Plus Pack,DC=global,DC=ns''
          WHERE objectClass = ''User'' AND objectCategory = ''person'' '
      )").AsQueryable().ToList();
  </code></pre>
  
  <p>If i run this directly on the SQL server everything looks fine and i get all fields populated
  <a href="https://i.stack.imgur.com/bg6Qh.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bg6Qh.png" alt="SQL output"></a></p>
  
  <p>The C# model that reflects the query</p>
  
  <pre><code>using System.ComponentModel.DataAnnotations.Schema;
  public class ADUser
  {
      //[Key]
      //[Column("distinguishedName")]
      //public string DistinguishedName { get; set; }
  
      [Column("mail")]
      public string Mail { get; set; }
  
      //[Column("title")]
      public string Title { get; set; }
  
      [Column("c")]
      public string Country { get; set; }
  
      //[Column("department")]
      public string Department { get; set; }
  
      //[Column("company")]
      public string Company { get; set; }
  
      [Column("mobile")]
      public string MobileNumber { get; set; }
  
      [Column("telephoneNumber")]
      public string TelephoneNumber { get; set; }
  
      [Column("facsimileTelephoneNumber")]
      public string DepartmentNumber { get; set; }
  
      //[Column("sAMAccountName")]
      public string Username { get; set; }
  
      //[Column("l")]
      public string Location { get; set; }
  
      //[Column("wWWHomePage")]
      public string WebSite { get; set; }
  
      //[Column("manager")]
      public string Manager { get; set; }
  
      //[Column("cn")]
      public string Name { get; set; }
  }
  </code></pre>
  
  <p>Now for the sketchy part. I debug the result after model translation in C#. 
  <a href="https://i.stack.imgur.com/O2rPx.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/O2rPx.png" alt="C# debug session"></a>
  As you can see MobileNumber and DepartmentNumber do not get populated, despite both having a value in the raw SQL above. Whats more is that the other columns with ColumnAttribute Mail, Country, TelephoneNumber work just fine. I already tried several times to check for typos or hidden whitespace characters. <strong>If i dont use the ColumnAttribute at all and just use AS keyword for name translation i get all fields populated.</strong></p>