Проблемы с выводом XML для коллекций списков службой WCF с Datacontract

#wcf #datacontract

#wcf #datacontract

Вопрос:

Я новичок в WCF и пытаюсь вывести некоторый XML в определенном формате.

В настоящее время мой объект ServiceEvents содержит коллекцию объектов ServiceEvent (см. Классы и DataContracts ниже). Когда я извлекаю эти объекты через WCF, вывод XML для коллекции добавляет Array0 к элементу Event. Для системы, использующей xml, это не идеально (см. xml ниже).

В идеале я хотел бы также удалить атрибут attr0=»EventArray» из элемента Events, но это имеет низкий приоритет.

Если бы кто-нибудь мог указать мне правильное направление, я был бы очень признателен.

 [ServiceContract]
    public interface IEventAppService
    {
        [OperationContract]
        ServiceEvents GetEvents();


    }
[CollectionDataContract(Name = "Events")]
    public class ServiceEvents : List<ServiceEvent>
    {
        public ServiceEvents(){}
        public ServiceEvents(List<ServiceEvent> serviceevent)
        {
            base.AddRange(serviceevent);
        }
    }

    [DataContract(Name = "Event")]
        public class ServiceEvent
        {
            [DataMember]
            public long ID
            {
                get;
                set;
            }
            [DataMember]
            public string Name
            {
                get;
                set;
            }
            [DataMember]
            public System.DateTime DateStart
            {
                get;
                set;
            }
            [DataMember]
            public System.DateTime DateEnd
            {
                get;
                set;
            }

        }

<GetEvents>
<MethodParameters>
<Events attr0="EventArray"isNull="false">
<EventArray0>
 <DateEnd>20/11/2011 12:00:00 AM</DateEnd>
 <DateStart>10/11/2011 12:00:00 AM</DateStart>
 <ID>2</ID>
 <Name>Event1</Name>
 </EventArray0>
 </Events>
 </MethodParameters>
 </GetEvents>