hay un par de opciones:
Runtime serialización, objetos serializables están marcados con el atributo Serializable , en cuyo caso la clase IFormatter hace todo el trabajo de serialización. Un objeto serializable puede ISerializable, pero luego tendrá que implementar el método GetObjectData() . El problema con la serialización en tiempo de ejecución es que el programa que lee los datos xml necesita tener el conocimiento de los tipos CLR.
serialización de Xml: serialización de tiempo de ejecución de línea, obtendrá una buena interoperabilidad en este caso. El tipo de XmlSerializer contiene los métodos Serialize() y Deserialize(), por lo tanto , cualquier objeto se puede serializar a XML y guardar en la base de datos y cuando lo recupera, puede deserializarlo fácilmente.
Para leer datos de la base de datos, puede utilizar el método de la clase SqlCommand que ejecuta consultas SQL, concretamente ExecuteXmlReader(). ExecuteXmlReader() devuelve una instancia de XmlReader y que leerá sus datos xml.
¿Por qué no pensar en usar un genérico para esto? * palma de la cara * –
@tom - porque no hay necesidad de un genérico aquí. También podría usar el "valor del objeto" y luego llamar a "value.GetType()" al construir el serializador. –
Gracias, finalmente lo hice, funciona como un regalo –