2013-05-10 89 views
1

我將如何實現以下內容作爲將在WCF服務中使用的C#類結構? 該結構位於將從其創建該類的文檔中。主要是可以有多個發生的人的課程,這是我遇到的問題。WCF DataContract的C#類結構

物品 - 類

標識符 - 類(項目的成員)

  • FIELD1(INT)
  • FIELD2(字符串)

細節 - 類(項目的部件)

  • detail1(int)
  • detail2(串)
  • ...

人 - 類(項目成員)

人 - 類(可以有1到200 occurances)

  • INFO2(字符串)

我目前有以下內容,不確定需要什麼做來完成:

[DataContract] 
public class Item 
{ 
    public class identifier 
    { 
     [DataMember] 
     public int field1; 

     [DataMember] 
     public string field2; 
    } 

    public class details 
    { 
     [DataMember] 
     public int detail1; 

     [DataMember] 
     public string detail2; 
    } 

    public class persons 
    { 
     public class person 
     { 

     } 
    } 
} 
+0

爲什麼只將'[DataContract]放在其中一個類上? – JeremyK 2013-05-10 13:02:08

+0

@JeremyK - 我還沒有找到。我只是想拼湊起來。這也是我的第一個WCF服務。 – KDee 2013-05-10 13:11:02

+2

這是一個實體建模問題,而不是WCF問題。而且,嵌套類是非常規的。 – 2013-05-10 13:16:50

回答

6

通過另一個類中嵌套類的聲明沒有實例它創建,不知何故神奇。聲明WCF合約的數據無論如何都不同,除了相應的屬性裝飾 - 從聲明任何其他數據結構。因此,您可能正在尋找類似如下的東西:

[DataContract] 
public class Identifier { … } 

[DataContract] 
public class Details { … } 

[DataContract] 
public class Person { … } 

[DataContract] 
public class Item 
{ 
    [DataMember] 
    public Identifier ID { get; set; } 

    [DataMember] 
    public Details Details { get; set; } 

    [DataMember] 
    public List<Person> Persons { get; set; } 
}