WCF内置数据类型的序列化解决办法

WCF内置数据类型的序列化
我在服务端创建一个对象,代码大致如下:
 public class Entity1
    {
        [DataMemberAttribute()]
        public Int32 ItemInt { get; set; }
    }

在客户端引用此对象时,多了一个属性:private bool itemIntFieldSpecified;

现在的问题时,如果在客户端我不对这个多出来的属性设置为true,服务端反序列化出来的对象中,那个ItemInt 就会变成0。
经过我的测试,除了string外的所有内置类型都会加一个对应的bool类型的FieldSpecified属性。

请问为什么会这样,系统中有没有什么地方可以设置不添加这个属性,或者这个属性默认为true?
------解决方案--------------------
这主要是为了匹配不同版本的契约而设置的。
------解决方案--------------------
这主要是为了匹配不同版本的契约而设置的。
------解决方案--------------------
试试用 用XmlSerializer代替DataContractSerializer

例子:

[ServiceContract]
[XmlSerializerFormat]
public interface IService1
{
    [OperationContract]
    List<CustomerObjectOfDataContract> GetDataFromListOfDataContract();

    [OperationContract]
    List<CustomerObjectOfSerializable> GetDataFromListOfSerializable();

    [OperationContract]
    DataTable GetDataFromDataTable();
}


------解决方案--------------------
LZ,现在又没有解决方案?