2009-10-20 5 views
0

У меня возникли проблемы с попыткой добавить некоторые даты в уже существующий класс, который загружается через XML-сериализацию, и это не делает то, что я думал, что он должен делать.Использование «FOR XML» с XML-сериализацией с типом DATETIME

Я постучал основной тест с SQL из (где EffectiveFrom и EffectiveTo объявлены в DATETIME)

SELECT o.EffectiveFrom AS [@EffectiveFrom], 
     o.EffectiveTo AS [@EffectiveTo], 
FROM dbo.MyObject o 
FOR XML PATH('MyObject'), ROOT('ArrayOfMyObject'), type 

Что дает XML:

<ArrayOfMyObject> 
    <MyObject EffectiveFrom="1977-11-23T00:00:00" EffectiveTo="2050-01-01T00:00:00" /> 
</ArrayOfMyObject> 

Тогда я объявил класс как:

public class MyObject 
{ 
    [XmlAttribute("EffectiveFrom")] 
    public DateTime EffectiveFrom { get; set; } 

    [XmlAttribute("EffectiveTo")] 
    public DateTime EffectiveTo { get; set; } 
} 

Однако свойства не заданы. У меня может быть просто «толстый день» и пропустить ослепительное очевидное, но я ожидал, что это «просто работа» - любые идеи, почему это не так?

ли я действительно должен создать некоторые строковые свойства, которые вызывают Date.ParseExact() на съемочной площадке, и ToString() на ГЭТ, маркировки, что для XML сериализации и маркировки реальные свойства, как XmlIgnore()?

+0

Пожалуйста, разместите XML. –

+0

Добавили XML ... –

ответ

0

Появляется на «просто работать» с SQL Server 2008, где мы использовали SQL Server 2005 заранее

0

Я не вижу закрывающий тег для < MyObject>?

+0

why -1! Я не видел < ... /> закрытие косой черты, когда я разместил это! – Preets

+0

и это то, что Роуленд изменил в редакторе! Иисус! – Preets

+1

-1, вероятно, поскольку это * не является ответом *; вы могли бы добавить свой комментарий в качестве комментария, в конце концов ... –

Смежные вопросы