title: ASP.NET Core model state does not return DataMember name
body: <p>When using the following model</p>
  
  <pre><code>[DataContract]
  public class MyModel 
  {
      [DataMember(Name = "name")]
      [Required]
      public string Name { get; set; }
  
      [DataMember(Name = "email_address")]
      [Required]
      [EmailAddress]
      public string EmailAddress { get; set; }
  }
  </code></pre>
  
  <p>When I use <code>ModelState</code> in my controller action it validates correctly if I don't supply the required parameters it returns</p>
  
  <pre><code>{
      "Name": [
          "The Name field is required."
      ],
      "EmailAddress": [
          "The EmailAddress field is not a valid e-mail address."
      ]
  }
  </code></pre>
  
  <p>However, as you can see the external key to the property Name is 'name' and EmailAddress is 'email_address' but I am getting the property name returned instead. </p>
  
  <p>How do you get the ModelState errors to adhere to the DataMember name? I don't want to return the property name in snake case or camel case, I want to use the DataMember name.</p>
  
  <h1>Update</h1>
  
  <p>I have raised an issue on aspnet repo: <a href="https://github.com/aspnet/Mvc/issues/6942" rel="nofollow noreferrer">https://github.com/aspnet/Mvc/issues/6942</a></p>