品牌新WCF。真的可以使用一些幫助。WCF和嵌套數據契約
我有(100)的對象的列表中,有4名數據成員。 DM1,DM2,DM3,DM4
我有datacontracts窩
DC1
List<DC2>
DC2
<DM1 Value=n> (n could be any number below 5, so there could be up to 5 DC2 inside the List in DC1)
List<DC3>
DC3
<DM2 value=n> (n could be any number below 10, so up to 10 DC3 inside the List in DC2)
List<DC4>
DC4
<DM3>
<DM4>
需要通過對象的原始列表進行迭代,並且具有各種嵌套datacontracts創建一個datacontract(DC1),這取決於原始對象列表的數據成員中的不同值。
例如爲:
<DC1>
<DC2>
<DM1 value = "a">
<DC3>
<DM2 value = 1>
<DC4>
<DM3>
<DM4>
<DM2 value = 2>
<DC4>
<DM3>
<DM4>
<DC4>
<DM3>
<DM4>
</D3>
</DC2>
<DC2>
<DM1 value = "b">
<DC3>
<DM2 value = 1>
<DC4>
<DM3>
<DM4>
<DM2 value = 2>
<DC4>
<DM3>
<DM4>
<DC4>
<DM3>
<DM4>
</D3>
</DC2>
<DC1>
什麼是這樣做的最佳方式?
謝謝!
這裏的DataContracts使用DC1服務合同一起沿着信息傳遞:
[DataContract]
public class DC1
{
[DataMember]
public string string { get; set; }
[DataMember]
public List<DC2> LDC2{ get; set; }
}
[DataContract] 公共類DC2 { [數據成員] 公共字符串類型{獲得;組; }
[DataMember]
public List<DC3> DC3s{ get; set; }
[DataContract] 公共類DC3 { [數據成員] 公共小數NUM {得到;組; }
[DataMember]
public List<DC4> DC4s{ get; set; }
[DataContract] 公共類DC4 { [數據成員] 公衆詮釋NUM2 {得到;組; }
[DataMember]
public decimal Val{get; set;}
服務合同: [的ServiceContract(命名空間= Constants.Namespace)] 公共類服務 {
[OperationContract]
DC1 GetMethod(int num);
數據集:
是下列對象的列表<> :
[Serializable]
public class Data
{
public string Type { get; set; }
public double Num { get; set; }
public double Num2{ get; set; }
public decimal Val{ get; set; }
}
在此列表中可以有100個(或更多)這些對象。 具有多達5種類型,具有高達10貨號的,和至多5 NUM2的。
感謝您的答覆,並希望這個澄清!
你能解釋一下你正在努力完成的事情嗎?可能甚至有一些針對當前類的代碼,以及你如何用[DataContract]和[DataMember]屬性對它們進行修飾。因爲如果你有一個[OperationContract]方法,將DC1類定義爲你的輸入或輸出,你所問的看起來好像是WCF已經隱含的東西。 – Sybeus 2013-02-14 00:55:17
感謝您的回覆。爲了清晰起見編輯更多代碼的問題! – user1771591 2013-02-14 01:23:13