J'ai des problèmes en essayant d'ajouter des dates à une classe préexistante chargée par sérialisation XML, et cela ne fait pas ce que je pensais qu'il fallait faire.
J'ai mis au point un test de base avec SQL of (où EffectiveFrom et EffectiveTo sont déclarés en tant que DATETIME
)
SELECT o.EffectiveFrom AS [@EffectiveFrom],
o.EffectiveTo AS [@EffectiveTo],
FROM dbo.MyObject o
FOR XML PATH('MyObject'), ROOT('ArrayOfMyObject'), type
Ce qui donne XML :
<ArrayOfMyObject>
<MyObject EffectiveFrom="1977-11-23T00:00:00" EffectiveTo="2050-01-01T00:00:00" />
</ArrayOfMyObject>
Puis j'ai déclaré la classe comme :
public class MyObject
{
[XmlAttribute("EffectiveFrom")]
public DateTime EffectiveFrom { get; set; }
[XmlAttribute("EffectiveTo")]
public DateTime EffectiveTo { get; set; }
}
Cependant, les propriétés ne sont pas définies. Il se peut que j'aie juste une "grosse journée" et que je ne comprenne pas ce qui est évident, mais je m'attendais à ce que cela "fonctionne" - avez-vous une idée de la raison pour laquelle ce n'est pas le cas ?
Devrai-je vraiment créer des propriétés de type chaîne qui appellent Date.ParseExact()
sur l'ensemble, et ToString()
sur le get, en le marquant pour la sérialisation XML, et en marquant les propriétés réelles en tant que XmlIgnore()
?