WCF中DataMember的Name属性看起来不起作用

Kam*_*hid 2 c# wcf .net-4.5

我有WCF服务暴露给多个客户端.在某些客户端数据库名称中,外壳不合适.我的类属性根据外壳标准具有无效的属性名称

public class TransactionParamter
{
    [DataMember]
    public string orderId;
    [DataMember]
    public string orderDetails;
    [DataMember]
    public double orderSumTotal;
}
Run Code Online (Sandbox Code Playgroud)

我试图改变它

public class TransactionParamter
{
    [DataMember(Name= "orderId")]
    public string OrderId;
    [DataMember(Name= "orderDetails")]
    public string OrderDetails;
    [DataMember(Name= "orderSumTotal")]
    public double OrderSumTotal;
}
Run Code Online (Sandbox Code Playgroud)

但看起来像数据成员名称 属性不起作用.我已经尝试过WCF测试客户端,在进行WCF参考时,它显示了像OrderId和OrderDetails这样的peroperty,而不是我在Name Attribute中声明的那个.请帮我纠正一下

Raw*_*aew 6

我相信你忘了装饰你的课DataContract.您需要这样才能使自定义数据成员名称起作用.

[DataContract(Name="transactionParamter")]
public class TransactionParamter
    {
        [DataMember(Name= "orderId")]
        public string OrderId;
        [DataMember(Name= "orderDetails")]
        public string OrderDetails;
        [DataMember(Name= "orderSumTotal")]
        public double OrderSumTotal;
}
Run Code Online (Sandbox Code Playgroud)