Ci sono un paio di opzioni:
Runtime serializzazione, oggetti serializzabili sono contrassegnati con l'attributo Serializable , nel qual caso la classe IFormatter fa tutto il lavoro di serializzazione. Un oggetto serializzabile può essere ISerializable, ma in tal caso sarà necessario implementare il metodo GetObjectData(). Il problema con la serializzazione di runtime è che il programma che legge i dati xml deve avere la conoscenza dei tipi CLR.
Serializzazione Xml: serializzazione runtime non allineata, si otterrà una buona interoperabilità in questo caso. Il tipo XmlSerializer contiene i metodi Serialize() e Deserialize(), quindi qualsiasi oggetto può essere serializzato in XML e salvato nel database e quando lo si recupera, è possibile deserializzare lo .
Per leggere i dati dal database, è possibile utilizzare il metodo SqlCommand che esegue query SQL, ovvero ExecuteXmlReader(). ExecuteXmlReader() restituisce un'istanza di XmlReader e leggerà i dati xml.
fonte
2009-07-31 13:47:46
Perché non pensare di utilizzare un generico per questo? * faccia palm * –
@ tom - perché non c'è bisogno di un generico qui. Potresti ugualmente usare "valore oggetto" e quindi chiamare "value.GetType()" quando costruisci il serializzatore. –
Grazie, finalmente l'ho fatto, funziona a meraviglia –