L'utilizzo di “FOR XML” con serializzazione XML con il tipo DATETIME
-
22-09-2019 - |
Domanda
Sto avendo problemi cercando di aggiungere alcune date a una classe preesistente che viene caricato tramite la serializzazione XML, e non sta facendo quello che ho pensato che dovrebbe fare.
Ho bussato a un test di base con SQL di (dove EffectiveFrom e EffectiveTo sono dichiarate come DATETIME
)
SELECT o.EffectiveFrom AS [@EffectiveFrom],
o.EffectiveTo AS [@EffectiveTo],
FROM dbo.MyObject o
FOR XML PATH('MyObject'), ROOT('ArrayOfMyObject'), type
Che dà XML:
<ArrayOfMyObject>
<MyObject EffectiveFrom="1977-11-23T00:00:00" EffectiveTo="2050-01-01T00:00:00" />
</ArrayOfMyObject>
Poi ho dichiarato la classe come:
public class MyObject
{
[XmlAttribute("EffectiveFrom")]
public DateTime EffectiveFrom { get; set; }
[XmlAttribute("EffectiveTo")]
public DateTime EffectiveTo { get; set; }
}
Tuttavia, non vengono impostate le proprietà. Mi potrebbe essere proprio avere "una giornata densa" e manca l'ovvio accecante, ma mi sarei aspettato questo per "solo lavoro" -? Tutte le idee perché non è
Sarò davvero necessario creare alcune proprietà di stringa che chiamano Date.ParseExact()
sul set, e ToString()
sulla get, segnalando che per la serializzazione XML, e segnalando le proprietà reali come XmlIgnore()
?
Soluzione 2
sembra "solo lavoro" con SQL Server 2008, in cui quanto ci era stato l'utilizzo di SQL Server 2005 in anticipo
Altri suggerimenti
Non vedo un tag di chiusura per