У меня возникли проблемы с попыткой добавить некоторые даты в уже существующий класс, который загружается через 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()
?
Пожалуйста, разместите XML. –
Добавили XML ... –