title: is changing underlying type of an enum breaking change for wcf contract?
body: <p>Assume I have a simple wcf service like so</p>
  
  <pre><code>[DataContract]
  public enum VMType : int
  {
      [EnumMember]
      Unknown = 0,
  
      [EnumMember]
      Virtual = 1,
  
      [EnumMember]
      Physical = 2,
  }
  
  [DataContract]
  public class ClientRequest
  {
      [DataMember]
      public string Code { get; set; }
  
      [DataMember]
      public VMType VMType { get; set; }
  }
  
  [ServiceContract]
  public interface IService
  {
      [OperationContract]
      int GetStatus(ClientRequest request);
  }
  </code></pre>
  
  <p>and if change the enum <code>VMType</code> to </p>
  
  <pre><code>public enum VMType : byte
  {
  </code></pre>
  
  <p>Is this considered a breaking change ? Will old WCF clients still be able to connect to the new service host ?</p>
  
  <p>As per <a href="http://msdn.microsoft.com/en-us/library/aa347875.aspx" rel="nofollow">Enumeration Types in Data Contracts</a> </p>
  
  <blockquote>
    <p>Generally the data contract includes enumeration member names, not numerical values</p>
  </blockquote>