WCF 生成不需要的部分 class

WCF generates undesired partial class

在一个单独的 project/solution 中,我有一个名为 CompleteField 的 class,它在多个 WCF projects/solutions 中被引用。

WCF 从 CompleteField 生成部分 class,这是不需要的。

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("dotnet-svcutil", "1.0.0.1")]
[System.Runtime.Serialization.DataContractAttribute(Name="CompleteField", Namespace="http://schemas.datacontract.org/2004/07/Common.Web.Models")]
public partial class CompleteField : object
    {
       //...
    }

使用属性 KnowType 我想我可以省略这个行为(因为我过去已经这样做过)。
在我下面CompleteFieldclass

  [DataContract]
  [KnownType(typeof(ValidatorType))]
  [KnownType(typeof(ObjectType))]
  [KnownType(typeof(ICompleteField))]
  public class CompleteField : ICompleteField
  {
    [DataMember]
    public string Name { get; set; }        
    [DataMember]
    public ObjectType Type { get; set; }
  }

  public interface ICompleteField
  {
    string Name { get; set; }
    ObjectType Type { get; set; }
  }

  [DataContract]
  public enum ValidatorType
  {
    [EnumMember]
    //...
  }

  [DataContract]
  public enum ObjectType
  {
    [EnumMember]
    //...
  }

   public CompleteField(ObjectType type)
   {
     this.Type = type;
   }
}

有谁知道为什么 WCF 仍然生成部分 class 这个?

生成部分class是因为我在CompleteField中使用了Constructor。