Sobre Serialización

14/02/2005 - 17:29 por Carlos | Informe spam
Hola, he visto algunos mensajes en el foro sobre la
Serialización y he buscado algo de información; nunca lo
he utilizado, pero quisiera ahora que alguien me
aconsejara.

Digamos, que tengo una clase Empleado, que está
relacionada con una tabla de la base de datos, TEmpleado.

Según lo poco que he leido, se puede serializar una
instancia (objeto) de la clase Empleado en una tabla de
Base de datos.

Bien, también existe la posibilidad a partir de un objeto
Empleado, insertar/modificar/eliminar un registro de la
tabla TEmpleado a partir de los valores de las
propiedades de la clase Empleado.

Las cuestiones serían: qué utilidades o potencialidades
tiene usar la serialización en estos casos ?

En cuanto al rendimiento,q ué es más rápido:
serializar un objeto de una clase en base de datos, y
luego el proceso inverso, deserializar un objeto (de una
clase) de base de datos en una instancia de la clase,

o
realizar Insert,update,deletes a partir de datos de la
clase sobre una tabla de bbdd, y el proceso inverso, leer
los datos (select) de la tabla para crear una instancia
de esa clase ?.

Saludos, espero que no esté confuso mi mensaje, aun sigo
confuso con estos temas.
 

Leer las respuestas

#1 Alfredo Novoa
14/02/2005 - 18:40 | Informe spam
On Mon, 14 Feb 2005 08:29:48 -0800, "Carlos"
wrote:

Hola,

Digamos, que tengo una clase Empleado, que está
relacionada con una tabla de la base de datos, TEmpleado.



Pues empezamos mal, por que clases y tablas no tienen nada que ver. No
se deben de asociar clases y tablas. Lo que si se puede hacer es
asociar clases y dominios, que son basicamente lo mismo.

Con SQL Server 2005 podemos crear nuevos dominios usando clases C#.

Según lo poco que he leido, se puede serializar una
instancia (objeto) de la clase Empleado en una tabla de
Base de datos.



Si, se puede grabar un registro en formato binario en una tabla de una
base de datos, pero eso no quiere decir que sea buena idea.

Bien, también existe la posibilidad a partir de un objeto
Empleado, insertar/modificar/eliminar un registro de la
tabla TEmpleado a partir de los valores de las
propiedades de la clase Empleado.



Si, pero también es una mala idea por lo que he dicho antes.

Las cuestiones serían: qué utilidades o potencialidades
tiene usar la serialización en estos casos ?



No necesitas usarla. SQL Server 2005 se encarga de hacerlo
automáticamente.

Lo único que tienes que hacer es cumplir los requisitos de los UDTs de
SQL Server 2005 (declarar atributos e implementar interfaces).

En cuanto al rendimiento,q ué es más rápido:
serializar un objeto de una clase en base de datos, y
luego el proceso inverso, deserializar un objeto (de una
clase) de base de datos en una instancia de la clase,



El equivalente a un objeto dentro de una base de datos es un valor de
una fila de una tabla.

Por ejemplo si tenemos un objeto "Teléfono" podemos guardarlo en una
columna de una fila de la tabla "Empleados".

Si queremos guardar un objeto más complejo como por ejemplo una figura
geométrica podemos extender el sistema de tipos de SQL Server 2005

Aquí tienes unos enlaces que dicen como se hace:

http://msdn.microsoft.com/msdnmag/i...TsinYukon/
http://www.devx.com/dotnet/Article/22644
http://weblogs.asp.net/angelsb/arch...97785.aspx

Saludos, espero que no esté confuso mi mensaje, aun sigo
confuso con estos temas.



Es bastante fácil estar confuso sobre estos temas. La mayoría de la
gente que escribe sobre bases de datos no tiene ni idea.


Saludos

Preguntas similares