Oppure

Loading
20/02/11 13:59
Dedalux
Salve a tutti,
ho bisogno di salvare in un DB XML un'insieme di classi.
Il problema è che una proprietà della classe è una data nullable, che quindi può avere il valore di una data o un valore nullo.
Il problema si verifica al reload del DB, quando deve passare come parametri al costruttore i valori che legge. Viene generata l'eccezione " Cast non valido dalla stringa "" al tipo 'Date' ".
E fin qui ok, perchè quando la Data è nulla, la proprietà non viene salvata nell XML, e il parametro è una stringa vuota.

Ho cercato quindi di aggirare in questo modo:

                    Dim query = From m In xmlDB...<Model>.Descendants
                                Select New Model(m.@Proprietà,
                                                   m.@Proprietà,
                                                   m.@Proprietà,
                                                   IIf(Not m.@Data= String.Empty,
                                                       m.@Data,
                                                        Nothing),
                                                   m.@Proprietà,
                                                   m.@Proprietà,
                                                   m.@Proprietà,
                                                   m.@Proprietà,
                                                   m.@Proprietà)


ora però l'errore è "Cast specificato non valido".

la proprietà di tipo Date? è questa

        Private _Data As Date? = Nothing
        Public ReadOnly Property Data As Date?
            Get
                Return _Data
            End Get
        End Property


e il costruttore della classe accetta un parametro di tipo Date?.

Potreste aiutarmi a capire dove sbaglio?

Grazie! :k:
aaa
20/02/11 18:34
HeDo
credo che il problema stia nella classe in sè, per essere serializzata su xml deve avere pubblici tutti i setter delle proprietà. In pratica non puoi avere proprietà readonly :)
aaa