DataSet Relation Recursivo da problemas?

07/05/2010 - 09:55 por L. Garcia | Informe spam
Hola Grupo:

Tengo una aplicación que lee las tablas y relaciones de una BBDD sqlserver y
monta la estructura en un DataSet (NET FrameWork 2 Sp2). Posteriormente, se
cargan los datos necesarios, y todo funciona correctamente (tablas, indices,
relaciones, etc) tanto en SqlServer como en mi aplicacion .NET

Ahora bien, cojo una tabla y creo una relacion consigo misma (la tipica
tabla 'recursiva' donde tienes el Id Principal y un Id que apunta al
'padre'. Todo funciona Ok en SqlServer, pero en .NET, a partir de crear la
relacion en el DataSet, en la tabla correspondiente, todo lo relativo a esa
tabla se 'ralentiza' enormemente.

Por ejemplo: Crear otra relacion diferente en la tabla 'recursiva', cuando
normalmente es 'instantaneo' ahora tarda del orden de 1 minuto!!! Ya no
digamos cargar datos, etc.

A alguien mas le pasa esto? Alguna pista?
Saludos

Preguntas similare

Leer las respuestas

#1 Leandro Tuttini
07/05/2010 - 19:17 | Informe spam
hola

el tema imagino es que no estas limitando el nivel de recursividad

o sea estas en el xsd definiendo dos datatable iguales de la mismo
tabla e indicando la relacion ?
o lo haces sobre el mismo datatable

por ahi si en el dataset arrastras dos veces al tabla, a la segunda le
pones otro nombre que indique que es la hija

podria relacionarlas y tener un nivel de profundidad en la relacion,
asi lo estarias limitando

cuando cargas, primero lo haces de la tabla padre y luego la hija, son
la misma tabla pero relacionadas, asi evitarias el recursivo, y
tendrias la relacion

se que no suena lo mejor esta solucion, pero al menos imagino que
funionara

saludos
Respuesta Responder a este mensaje
#2 L. Garcia
10/05/2010 - 09:18 | Informe spam
Hola Leandro, gracias por responder.

"Leandro Tuttini" escribió en el mensaje
news:

hola

el tema imagino es que no estas limitando el nivel de recursividad

o sea estas en el xsd definiendo dos datatable iguales de la mismo
tabla e indicando la relacion ?
o lo haces sobre el mismo datatable



Lo hago 'a mano' en el mismo datatable, creo una relación como siempre:

New DataRelation(NombreRelacion, Campo_fk, Campo_Pk)

No hago NADA por diseño, todo por código.

Lo estoy mirando y no 'veo' donde puedo limitar el nivel de recursividad (en
realidad yo solo quiero la relación, es el .NET el que parece que lo hacer
recursivo). He cambiado la propiedad .Nested del DataRelation, pero sigue
haciendo lo mismo.

Saludos


por ahi si en el dataset arrastras dos veces al tabla, a la segunda le
pones otro nombre que indique que es la hija

podria relacionarlas y tener un nivel de profundidad en la relacion,
asi lo estarias limitando

cuando cargas, primero lo haces de la tabla padre y luego la hija, son
la misma tabla pero relacionadas, asi evitarias el recursivo, y
tendrias la relacion

se que no suena lo mejor esta solucion, pero al menos imagino que
funionara


saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida